Conformément à la documentation is_page, fournir le slug en tant qu'argument WP peut me dire si la page en cours est celle représentée par le slug. Peut-être que j'utilise la mauvaise limace? Cependant, j'ai essayé le chemin utilisé dans l'argument de réécriture, ainsi que le bit que je considère être le "slug" ou, en d'autres termes, l'élément utilisé pour enregistrer le CPT.
Veuillez trouver ci-dessous un extrait de code pour vous permettre de comprendre:
'rewrite' => array( 'slug' => 'faqs/archivio' )
);
register_post_type( 'faqs', $args );
Je l'ai fait en utilisant le slug utilisé pour un type de message personnalisé, mais je n'ai pas pu le faire fonctionner.
Donc deux questions?
Merci Andrea
La création d'un type de publication personnalisé l'a dans la définition, un type de publication. De plus, page uniquement est un type de publication par défaut. Si vous enregistrez votre type de publication personnalisé, vérifiez ce type de publication et non une page.
is_singular
La fonction, balise conditionnelle is_singular()
a pour but principal de vérifier si vous affichez une publication au singulier. Cependant, il peut également être utilisé pour vérifier si vous souhaitez afficher une publication au singulier d'un type de publication en entrant le paramètre $post_type
, comme indiqué dans l'extrait de code suivant.
is_singular( 'your_custom_post_type' );
ou différents types de poste
is_singular( array( 'your_custom_post_type_1', 'your_custom_post_type_2' ) );
J'utilise le plugin Objets de débogage pour déboguer des sujets dans ce contexte. Peut-être que cela vous aide aussi, souvent plus facilement en lisant le code ou le codex. Voir la capture d'écran suivante du plug-in, le résultat des balises conditionnelles, incluant is_page()
et is_single()
sur un CPT.
Vous pouvez faire comme ceci, pour le routage du fichier single.php pour différents types de publications.
J'ai deux fichiers single.php nommés par single-product.php et single-blogs.php.
Maintenant, dans le fichier single.php, j’ai écrit le code ci-dessous pour rediriger différents messages en fonction du type de message personnalisé.
if (get_post_type('product'))
{
include (TEMPLATEPATH . '/single-product.php');
}
else
{
include (TEMPLATEPATH . '/single-blogs.php');
}
ou
if (is_singular('product'))
{
include (TEMPLATEPATH . '/single-product.php');
}
else
{
include (TEMPLATEPATH . '/single-blogs.php');
}