web-dev-qa-db-fra.com

Le modèle personnalisé pour le type de publication ne fonctionne pas

J'ai un type de message shopping et dans mon single.php j'essaie d'obtenir un certain modèle pour ce type de message. Alors j'ai fait:

\\ in the single.php
get_template_part( 'template-parts/content', get_post_format() );

et dans le répertoire template-parts, j'ai créé un fichier nommé content-shopping.php. Quoi qu'il en soit, le modèle unique utilisé est le content.php par défaut.

Cependant, si je fais quelque chose comme ça:

if ( 'shopping' === get_post_type() ) {
  get_template_part( 'template-parts/content-shopping' );
}else{
  get_template_part( 'template-parts/content', get_post_format() );
}

alors le modèle est utilisé pour ce type de publication. Je ne sais pas pourquoi la première méthode ne fonctionne pas. Une idée?

2
Rain Man

get_post_format et get_post_type sont complètement différents.

Les post-formats peuvent être l’un des suivants:

  • 'standard' (valeur par défaut)
  • 'de côté'
  • 'bavarder'
  • 'Galerie'
  • 'lien'
  • 'image'
  • 'citation'
  • 'statut'
  • 'vidéo'
  • 'l'audio'

Et shopping est le type post que vous avez créé et non post format . Vous pouvez ajouter un format de publication pour le type de publication (shopping) comme ceci

add_post_type_support( 'shopping', 'post-formats' );
4
bravokeyl