J'ai enregistré un type de publication personnalisé et je veux créer une page où je listerai quelques publications, ce sera comme une page d'index.
J'ai créé une page d'archive appelée mycpt-archive.php et une page appelée myCPT.php.
J'ai ajouté une URL personnalisée dans le menu appelé "myCPT" comme ceci: www.mywebsite.com/mycpt Maintenant, lorsque je clique dans le menu frontal sur "myCPT", il affiche le - mycpt-archive.php contenu et non myCPT.php.
J'ai parcouru la hiérarchie des modèles de CODEX et il me semble que je suis sur la bonne voie.
Lorsque je clique sur "myCPT" dans le menu frontal, la page affichée est mycpt-archive.php pas myCPT.php que je m'attends à ouvrir.
Qu'est-ce que j'oublie ici ? Merci !
Si tu as:register_post_type( 'my_custom_post_type', $args );
Et vous avez besoin d'une page personnalisée pour afficher toutes les entrées de ce type de message personnalisé, vous devez créer: archive-my_custom_post_type.php
. Mais si vous n'avez pas besoin d'une page personnalisée, wordpress utilisera archive.php pour afficher votre archive de type de publication personnalisée.
Si vous avez seulement besoin de personnaliser la page d'entrée, vous devez créer: single-my_custom_post_type.php
Où créez-vous le type de publication personnalisé, dans le thème functions.php ou en utilisant un plugin?
Si vous utilisez functions.php, vous devez créer archive-my_custom_post_type.php
ou single-my_custom_post_type.php
dans le dossier du thème.
Si vous utilisez un plugin, vous devez créer archive-my_custom_post_type.php
ou single-my_custom_post_type.php
dans le dossier des plugins et pointez wordpress pour le lire, alors incluez cette fonction dans votre plugin:
fonction get_custom_post_type_template ($ template) { global $ post; if ($ post-> post_type == 'my_custom_post_type') { $ template = dirname (__FILE__). '/archive-my_custom_post_type.php'; } return $ template; } // add_filter ("single_template", "get_custom_post_type_template_template "); // pour une seule page add_filter ("archive_template", "get_custom_post_type_template"); // pour l'archive
Il semble presque que vous créiez une page de modèle personnalisée nommée et que vous mettiez le code de requête personnalisé que vous souhaitez dans cette page de modèle particulière. Une fois que vous avez créé la page de modèle, créez une véritable page wordpress et configurez-la pour utiliser cette page de modèle personnalisée. Est-ce que cela a du sens.
Une fois que vous avez terminé, vous souhaiterez probablement modifier la page de modèle pour Tweak et affiner votre requête.
Faites-moi savoir si je suis sur la bonne voie pour vos besoins.