web-dev-qa-db-fra.com

Utiliser différentes taxonomies dans les permaliens des différents types de publication personnalisés?

Est-il possible d'ajouter% post_type% et% taxonomy% aux permaliens? Je souhaite que les liens d'un type de publication personnalisé aient les termes d'une taxonomie dans son lien permanent, et un autre type de publication pour utiliser les termes d'une autre taxonomie.

1
supertrue

Je vais essayer de répondre à la question de manière détaillée, mais en la gardant aussi courte que possible, sachant que vous avez atteint l'essentiel. Supposons que notre type de message personnalisé 1 soit connecté à celui de la taxonomie. Appelons-les 'console' (type de message personnalisé) et 'marques' (taxonomie). Vous voulez réaliser: http://example.com/console/brands/sony/ Étapes: Enregistrez d'abord la taxonomie et attachez-la à une console de type publication personnalisée.

$labels = array(
    'name'                          => 'Brands',
    'singular_name'                 => 'Brand',
    'search_items'                  => 'Search Brands',
    'popular_items'                 => 'Popular Brands',
    'all_items'                     => 'All Brands',
    'parent_item'                   => 'Parent Brand',
    'edit_item'                     => 'Edit Brand',
    'update_item'                   => 'Update Brand',
    'add_new_item'                  => 'Add New Brand',
    'new_item_name'                 => 'New Brand',
    'separate_items_with_commas'    => 'Separate Brands with commas',
    'add_or_remove_items'           => 'Add or remove Brands',
    'choose_from_most_used'         => 'Choose from most used Brands'
    );

$args = array(
    'label'                         => 'Brands',
    'labels'                        => $labels,
    'public'                        => true,
    'hierarchical'                  => true,
    'show_ui'                       => true,
    'show_in_nav_menus'             => true,
    'args'                          => array( 'orderby' => 'term_order' ),
    'rewrite'                       => array( 'slug' => 'consoles/brands', 'with_front' => false ),
    'query_var'                     => true
);

register_taxonomy( 'brands', 'consoles', $args );

Notez ici que la clé de réécriture de notre tableau $ args. Cette valeur indique à WordPress le slug à utiliser dans notre taxonomie personnalisée. Nous ne voulons pas qu’elle soit ajoutée à la base avant permanente de WordPress, dont la valeur par défaut est true, et nous voulons que le slug inclue notre slug de réécriture Custom Post Type.

Deuxième étape: Créez maintenant le type de publication personnalisé. Je n'écris pas tout le code, mais souvenez-vous que le paramètre important est la "réécriture".

'rewrite'               => array( 'slug' => 'consoles', 'with_front' => false ),

visitez votre écran d’options Paramètres> Permaliens dans l’administrateur de WordPress pour vous assurer que vos nouveaux permaliens sont choisis

Répétez les étapes pour le deuxième type de message personnalisé et la taxonomie 2.:) chefs .. PS: Vous devez définir la clé has_archive pour avoir une page d'archivage.

2
Pritam