Utiliser une page WordPress au lieu d'une archive de type de publication

15

Désolé s'il s'agit d'un doublon - je ne trouve pas de réponse.

Comment réécrire une page d'archive de type de publication personnalisée sur une page WordPress `` créée par l'homme ''?

Par exemple:

  • Une seule page: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Page d'archive: http://www.mywebsite.com/cool-post-type/

Je veux http://www.mywebsite.com/cool-post-type/réécrire http://www.mywebsite.com/about-cool-post-types/.

Puis-je simplement faire cela avec htaccess et quelle serait la syntaxe? (Je ne suis pas bon en htaccess!)

Cela ne fonctionne pas:

RewriteRule ^cool-post-type\/\?$ /about-cool-post-types [L]

Ou dois-je le faire dans le code source de WordPress? Je ne veux pas!

Warwick
la source

Réponses:

16

Celui-ci est en fait assez facile. Lorsque vous déclarez votre type de publication à l'aide de register_post_type , vous devez ajouter un nouvel argument pour 'has_archive'.

Vous ajouterez donc quelque chose à l'effet de:

'has_archive' => 'about-cool-post-types'

Ensuite, allez dans Paramètres> Permaliens pour les vider et cela devrait fonctionner. Je l'ai testé localement, et cela semble être le moyen de générer automatiquement votre page d'archive à une URL différente. Ensuite, vous devriez pouvoir créer une page sur le slug du CPT.

socki03
la source
Cela a cessé de fonctionner mais j'ai réussi à le corriger en affectant 'has_archive' à du texte arbitraire et en renommant le slug de ma page en slug de catégorie.
Warwick
7

Il y a aussi un plugin simple à 1 fichier pour cela maintenant, par le folk HumanMade;

https://github.com/humanmade/page-for-post-type

(Meta: Je sais que les réponses avec des liens ne sont généralement pas géniales, mais je ne veux pas simplement copier et coller le code source de cette chose dans une réponse. Quelle est la meilleure stratégie pour ce type de chose?)

RichardTape
la source