Il y a un article précédent avec un titre similaire, mais il ne regarde pas dans WordPress 3.3, et c'est important car 3.3 annonce de manière intéressante: "Utilisez la structure de permalien du nom de poste sans pénalité de performance"
Le problème avec Wordpress 3.2 et versions antérieures était qu'il avait d'abord regardé les noms de page, puis 404. Il n'avait pas vérifié les types de publication arbitraires en premier. 3.3 d'autre part doit regarder les types de publication, puis les pages, et enfin 404 (comme il annonce cette fonctionnalité). Cela implique que les types de publication personnalisés sans slug doivent être simples , s'ils n'ont pas codé en dur post_type=post
quelque part.
Cependant, je ne trouve pas encore de solution spécifique 3.3.
Question : Comment puis-je définir la structure de permalien "/% postname% /" pour tout type de publication personnalisé "xyz"?
Merci.
la source
Réponses:
Cela n'est pas facile à faire dans WP 3.3 à moins que vous ne trompiez les règles de réécriture pour qu'elles soient au bon endroit et que wp_rewrite pense que des règles verbeuses sont utilisées dans le frontal. La classe ci-dessous fonctionne.
la source
Clés de voiture sacrées!
Je pense que cela fonctionne. Cela fonctionne presque, c'est super simple, une seule ligne:PS Si vous essayez ceci à la maison, après avoir ajouté cette seule ligne Allez dans "Paramètres" -> "Permaliens" et Enregistrer les modifications, il actualise les permaliens.
Je lisais le
register_post_type()
code source de WP et j'ai trouvé une ligne:Inutile de dire que sans limace, j'ai conclu que cela devrait fonctionner,
et c'est ce qui s'est produit. Même l'édition de permalien sous le titre dans l'éditeur fonctionne correctement!Mise à jour: Cela rompt les permaliens de page, retour à la planche à dessin ...
la source
La réponse de prettyboymp est presque la même que celle que j'ai reçue hier, mais je n'en suis pas satisfaite. La réponse de prettyboymp a un défaut, elle ne fonctionne pas lorsque /% postname% / est utilisé simultanément sur plusieurs types de messages.
Voici ma réponse, qui examine également la structure actuelle et crée un tableau de types de messages sur lesquels se replier. Cependant, il y a un défaut, si deux types de publication ont le même slug et que les deux sont /% postname% / alors cela montre les deux.
la source
J'ai créé une solution et je n'ai pas pu trouver de problème avec elle. S'il vous plaît essayez de me dire si vous rencontrez un problème
Changez 'yemek' avec votre nom de type de message.
la source
Ce lien devrait répondre à votre question:
http://ottopress.com/2011/how-the-postname-permalinks-in-wordpress-3-3-work/
la source
La réponse la plus claire que j'ai pu trouver pour cela (je construis un plugin qui a vraiment besoin d'un type de publication personnalisé sans aucun slug principal) est d'utiliser un modèle de page personnalisé au lieu d'utiliser un type de publication personnalisé.
En faisant cela, votre "type de publication personnalisé" peut avoir des URL telles que / quoi que ce soit sans avoir à vous soucier de marcher sur la page ou de publier des permaliens.
Pour ce faire, j'ai fini par faire ce qui suit:
Cela m'a permis de:
Tirez une liste de pages qui utilisent le modèle de page à l'aide de WP_Query
Ajoutez un traitement spécial en vous connectant à add_meta_boxes pour stocker mes données personnalisées
Ajouter mon modèle personnalisé à ceux affichés en filtrant page_attributes_dropdown_pages_args, theme_page_templates, wp_insert_post_data et template_include voir ce post sur l'ajout de modèles de page à un plugin
Les inconvénients
Bien sûr, bien que cela ne piétine pas la page ou ne publie pas de liens, il présente quelques inconvénients évidents.
Aucune archive Vous n'aurez pas d'archive (si vous le souhaitez), mais cela peut être résolu en créant un autre modèle de page pour dessiner une archive de toutes les pages en utilisant votre modèle personnalisé.
Géré sous Pages Vous n'avez pas la belle navigation de gauche dans l'administrateur qui regroupe tous les types de messages.
Cela pourrait être partiellement résolu en ajoutant un filtre à la liste des pages (pour vous permettre de filtrer en fonction du modèle de page utilisé), en affichant tout modèle de page utilisé dans une nouvelle colonne, etc.
Cela étant dit, je voulais quelque chose qui ne ferait pas en sorte que les utilisateurs se demandent pourquoi ils ont créé une nouvelle page personnalisée et ont constaté qu'ils ne pouvaient plus atteindre les pages normales ou que la nouvelle page personnalisée faisait disparaître une page existante sur leur site.
Je sais que ce n'est pas une vraie solution, mais c'est une alternative qui a très bien fonctionné pour mes besoins.
la source