J'ai un type de message personnalisé enregistré comme suit:
register_post_type( 'news',
array(
'labels' => $labels,
'public' => true,
'show_ui' => true,
'menu_position' => 5,
'capability_type' => 'post',
'has_archive' => false,
'rewrite' => array('slug' => 'news'),
'hierarchical' => false,
'show_in_menu' => true,
'supports' => array( 'title', 'editor', 'thumbnail' )
)
);
Mon intention est d’avoir le permalien/news/nom-de-news pour la publication et un/news/page listant toutes les nouvelles.
J'ai créé une page avec slug "news" et un modèle de page pour cela, mais lorsque j'utilise la pagination pour atteindre/news/page/2/je reçois un 404, car il semble que je ne puisse pas avoir de page et de type de message personnalisé avec le même limace.
Existe-t-il une solution de contournement ou une stratégie pour mettre en place la structure de permalien dont j'ai besoin? Notez que je ne peux pas utiliser archive-news.php pour la liste, car j’ai également besoin d’un texte de la page modifiable dans WP admin. Merci.
J'ajouterais 'has_archive' => true
à votre tableau d'arguments. Cela active automatiquement les archives (avec la pagination aussi) pour votre type de publication. Le modèle pour les archives de type de publication est archive-news.php
.
Pour le texte éditable (désolé, j'ai raté le dernier paragraphe), j'utiliserais soit un champ d'option, soit une barre latérale personnalisée (widget w/text, je suppose). La quantité d’efforts nécessaires pour que la configuration de page + cpt fonctionne correctement ET soit compatible avec les transferts est bien supérieure à l’effort requis pour ajouter simplement un champ de texte personnalisé à une fonctionnalité déjà standard. En règle générale, si l'API principale m'apporte au moins 90% du chemin, j'essaie toujours de trouver le moyen de la faire fonctionner au lieu de réinventer la roue.