Je sais que cela n'est pas suggéré et que cet argument fait l'objet de nombreuses discussions. Malheureusement, après une semaine d'essais et de tests, je n'ai pas encore réussi à retirer le slug de mon type personnalisé. Voici la situation:
La structure d'URL dont j'ai besoin
- poste / blog / mon-blog-post [ok!]
- pages / parent-service / service [ok!]
- portfolio / portfolio / mon premier travail [ok!]
- static / parent-static-page / static-page [<<< --- voici le problème]
Ma configuration
- Wordpress 3.5.2
- Type personnalisé 'statique': hiérarchique; sans aucune règle de «réécriture».
- Type de portefeuille personnalisé: non hiérarchique; 'rewrite' => array ('with_front' => false)
- Structure de permalien: / blog /% postname% /
- En première page, je mets la page statique «blog»
Le problème
- post blog / mon-blog-post [ok!]
- pages / sites Web / sites dynamiques [ok!]
- portfolio / portfolio / mon premier travail [ok!]
- static / who-i-am / terms [<<< --- voici le problème]
Ce que j'ai essayé
Rien
Au début, comme prévu, l'url du post "statique" "Ma page de test" est / blog / static / my-test-page
'rewrite' => array ('slug' => '', 'with_front' => false)
J'ai retiré le devant de l'url ... bon! Maintenant, j'ai / static / my-test-page
'rewrite' => array ('slug' => false, 'with_front' => false)
Il n'enlève pas la limace. J'ai encore / static / my-test-page .
'rewrite' => array ('slug' => '/', 'with_front' => false)
Ça enlève la limace! Maintenant, j'ai / ma-page-test . Malheureusement, toutes les pages me renvoient une erreur 404 .
Plugin «Supprimer la limace du type de message personnalisé»
Même si cela ne fonctionne que si ma structure de permalien est /% postname%, j'ai essayé d'installer ce plugin et de changer ma structure de permalien pour faire un test. Cela fonctionne, mais malheureusement ne respecte pas la nature hiérarchique de mon type «statique».
Le tutoriel de Joakin Lim
Ça ne marche pas. En particulier, après l'ajout, function book_rewrite_rule()
il est dit que mon type personnalisé sera désormais accessible à partir de / ma-page-test ainsi que / statique / ma-page-test , mais cela ne fonctionne pas pour moi. Je ne peux y accéder qu'à partir de / static / my-test-page . J'ai aussi essayé d'appliquer tout le tutoriel, en faisant aussi quelques changements et tests, mais sans succès
Le tutoriel de vip.wordpress
Si je change «événement» par «statique» dans les deux fonctions, je peux accéder à ma page à partir du blog / de la page parent / de ma page de test . Si j'ajoute 'rewrite' => ('with_front' => false) tout se brise et je ne peux accéder qu'à partir de la page statique / parent / ma-page-test
Autres solutions et tests
Malheureusement, avec ma réputation actuelle, je ne peux pas lier plus de deux liens. Mais j'ai également essayé la solution trouvée dans ryansechrest.com, shibashake.com et - bien sûr - TOUTES les questions postées dans ce portail auparavant. Bien sûr, chaque fois que j'ai effacé toutes les règles de permaliens, visiter la page de configuration, enregistrer les options, les changer deux fois et les enregistrer à nouveau, en utilisant le global $wp_rewrite; $wp_rewrite->flush_rules();
. J'ai essayé beaucoup de combinaisons avec le tableau de «réécriture» et les différentes solutions ci-dessus.
Avez-vous une suggestion?
la source
Réponses:
Pour ce faire, je désactive toujours le slug lors de l'ajout du type de message personnalisé et j'ajoute des réécritures personnalisées avec la
add_rewrite_rule
fonction.Voir aussi cette page codex: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule
la source