> For the complete documentation index, see [llms.txt](https://akyos.gitbook.io/book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://akyos.gitbook.io/book/wordpress/guides/creer-une-single.md).

# Créer une single

### Introduction

Les singles dans Wordpress sont les pages vous permettant de visualiser le contenu d'un post type.

### Nomenclature de nommage

Les fichier des singles devront être placés dans `views/partials/content-single-{post_type}.blade.php`

Exemple :

```
views
├── partials
│ └── content-single-{post_type}.blade.php
└─ single.blade.php
```

### Traitement des données

Comme vu dans [Blade](https://akyos.gitbook.io/untitled/html/moteurs-de-template/blade), il est important de ne pas mêler logique et affichage, en effet notre single va donc seulement gérer l'affichage de ces données et non son traitement. Pour gérer le traitement de nos données, nous allons donc utiliser un [Composer](https://akyos.gitbook.io/untitled/php/wordpress-sage/composers).

Exemple :

```php
class SingleArticle extends Composer
{

    protected static $views = [
        'partials.content-single-article',
    ];

    public function override()
    {
        $article = get_queried_object();
        return [
	        "article" => $article;
        ];
    }
}
```

> Wordpress gère tout seul la récupération de l'objet courant lors du rendu d'une single, ici on a donc juste à appeler `get_queried_object()` afin de le récuperer. Bien sûr on peut imaginer plus de traitement si besoin.

Une fois fait, si on se rend dans notre fichier `partials.content-single-article`, on aura accès à la variable `$article`. Ici, dans le cas d'une single, `$article` est une instance de [WP\_Post](https://developer.wordpress.org/reference/classes/wp_post/), ce qui signifie qu'on peut directement récupérer les variables associés

### Exemple de single

Après avoir récupérer les donnés nécessaires à la réalisation de notre single, on va donc pouvoir réaliser notre vue

Exemple basique d'une single :

```html
<article {!! post_class() !!}>
  <x-hero
    :image="wp_get_attachment_id($article->ID)"
    :title="$article->title"
  ></x-hero>
  <div class="content">
    {!! get_the_content() !!}
  </div>
</article>p
```

> Note: ici on utilise `{!! get_the_content() !!}` afin de rendre le contenu de notre article afin de s'assurer que tout les [filtres de Wordpress](https://developer.wordpress.org/plugins/hooks/filters/) soient bien appliqués à notre contenu, ainsi que notre contenus soit interepreté comme du HTML. En effet souvent le contenu est rempli via un [WYSIWYG](https://www.wppourlesnuls.com/glossaire/editeur-visuel-ou-wysiwyg/) dans le backoffice, qui renvoie bien souvent du code HTML.
