web-dev-qa-db-fra.com

Types d'articles personnalisés et pages d'archives d'étiquettes/problème de structure de lien permanent

J'ai eu du mal à obtenir que la structure de lien permanent soit correcte sur mes types de publication personnalisés (du moins, je pense que c'est ce que je pense, le problème est pour le moment - corrigez-moi si vous pensez que ce n'est pas le cas). J'utilise le plugin CPT UI.

J'utilise <?php the_tags(); ?> sur la page des messages CPT/associée pour afficher une liste chaînée des balises associées à chaque message. Le lien que cela génère est "mysite/tag/thetag", alors que je pense qu'il devrait être "mysite/customposttype/tag/thetag" (ou quelque chose de similaire). De plus, si je vais à l'URL que je m'attendrais à exister en fonction de ma compréhension, rien ne s'affiche.

Le lien vers "mysite/tag/thetag" affiche simplement un "Introuvable" avec une barre de recherche, ce que le modèle d'archive du site est configuré pour afficher si la page d'étiquette n'existe pas.

J'ai essayé de créer un modèle "tag-customposttype.php" mais cela ne semble pas fonctionner du tout.

J'ai eu un problème similaire avec la création des archives de blog (en tant que, impossible d'obtenir l'affichage correct de la structure de permalien, même après avoir enregistré manuellement le type de message dans le fichier functions.php du thème) et j'ai pu le résoudre avec le Archives du plugin Types de messages personnalisés .

Malheureusement, ce site fonctionne actuellement sur localhost, je ne peux donc pas le partager, mais je serais ravi de pouvoir vous aider. J'ai passé des heures à chercher une solution sur le WP codex/forums/WP stackexchange/general Internet et rien n'a fonctionné jusqu'à présent. Faites-moi savoir s'il y a des informations supplémentaires qui pourraient être nécessaires - j'ai évité de coller des blocs de code volumineux ici car je pense qu'il y a peut-être plusieurs domaines dans lesquels quelque chose pourrait mal tourner. Merci d'avance!

1
stopthepresses

/tag/thetag/ est le lien permanent par défaut correct pour une archive de balises. Il n’existe pas de concept d’archives taxonomiques par type de poste, mais un seul archivage pour tous les types.

Le problème que vous avez avec un 404 sur ces pages s’ils ne contiennent que des types de publication personnalisés, c’est que les archives de taxonomie de balises et de catégories intégrées interrogent par défaut uniquement le type de publication post. Si vous souhaitez ajouter des types personnalisés à cela, vous devez accrocher pre_get_posts et ajouter vos types personnalisés à ces requêtes.

function wpd_custom_types_on_tag_archives( $query ){
    if( $query->is_tag() && $query->is_main_query() ){
        $query->set( 'post_type', array( 'post', 'your_custom_type' ) );
    }
}
add_action( 'pre_get_posts', 'wpd_custom_types_on_tag_archives' );
1
Milo