web-dev-qa-db-fra.com

Comment pouvons-nous prendre en compte les types de post lors de la construction de permaliens?

Lorsque je travaille avec le système de permalien de Wordpress, je peux créer de nombreuses options pour créer des permaliens, comme ceci:

/blog/%year%/%monthnum%/%day%/%postname%/

Mais si j'ajoute un nouveau type de contenu, disons des morceaux de portfolio, pour que je puisse avoir une URL du type:

/portfolio/postname/

Les options de permalien que j’ai (et que j’utilise depuis 3 ou 4 ans) signifient que nous avons des urls laides comme:

/ blog/portfolio/habituellement_path

Je veux que tous les liens existants fonctionnent pour les publications qui ont déjà été sur:

blog/YYYY/MM/post-name

Mais je veux aussi rendre les messages personnalisés disponibles sur:

portfolio/post-name

Comment je le ferais normalement

L'approche que je fais normalement serait:

  • supprimez le slug de blog codé en dur, des permaliens en ce que la nouvelle structure de permalien était /%year%/%monthnum%/%day%/%postname%/

  • Ajoutez une règle dans Apache à 301 toutes les demandes de domain.com/blog/YYYY/MM/DD/old-post sur domain.com/YYYY/MM/old-post, pour le référencement et autres.

Pour autant que je sache, cela voudrait dire que tous les liens existants vers

http://domain.com/blog/YYYY/MM/DD/old-post fonctionnerait toujours, même si les navigateurs se retrouveraient à:

http://domain.com/YYYY/MM/DD/old-post

J'aurais toujours les URL correctes pour les types de courrier personnalisé aussi, à

http://domain.com/portfolio/post-name

Est-ce que tu le ferais comme ça?

Je me sens assez à l'aise avec cette approche. Je pourrais améliorer la structure de nommage pour le référencement tout en maintenant les performances, en supprimant les jours, voire les années, pour obtenir quelque chose comme ceci:

/%year%/%postname%/

Je ne suis pas sûr de la manière dont j'autoriserais une structure de lien permanent permalink ici, mais y a-t-il autre chose que je devrais garder à l'esprit ici lors de la fixation de liens comme celui-ci?

1
Chris Adams

Lorsque vous enregistrez votre taxonomie, vous pouvez créer la règle de réécriture du slug.

register_taxonomy ('investment_country', array ('investment'), array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => tableau ('slug' => 'pays'), ));

alors chaque fois que je montre quelque chose que j'ai inclus dans la taxonomie du pays, je reçois http://www.domain.com/country/unitedkingdom par exemple

n'oubliez pas que vous aurez besoin de réenregistrer vos permaliens

1
Andrew Benbow

j'espère que vous avez créé un type de pot personnalisé appelé portfolio, pour autant que je sache, il suffit d'aller à la structure de permalien personnalisée qui devrait être /% postname% /

Et créez une catégorie personnalisée ou un modèle d'archive pour mettre la main sur le modèle de catégorie portfolio

jetez un oeil à la hiérarchie des modèles http://codex.wordpress.org/Template_Hierarchy

dans votre cas, votre nom de modèle devrait être category-porfolio.php pour single.php, il devrait être single-portfolio.php.

ces modèles sont exclusifs pour votre type de publication de portefeuille

0
S kumar