WordPress : Le permalien du terme de taxonomie ne fonctionne pas
J’ai appelé CPT forms_cpt
et une taxonomie appelée forms_tax
. Dans mon page-forms.php
, je suis capable de créer une liste de forms_tax
termes comme
<ul>
<?php
foreach ($tax_terms as $tax_term) {
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a></li>';
}
?>
</ul>
qui crée une liste de termes. mais chaque fois que je clique dessus, il a atterri dans une mauvaise URL. Par exemple, si vous cliquez sur le soccer
terme, il a atterri à
http://www.domain.ca/soccer/
à la place de
http://www.domain.ca/Forms/soccer/
pouvez-vous s’il vous plaît laissez-moi savoir pourquoi cela se produit et ce que je fais mal? function gen_forms_tax() {
$labels = array(
'name' => 'Form Types',
'singular_name' => 'Form Type',
'menu_name' => 'Form Types',
'all_items' => 'All Form Types',
'parent_item' => 'Form Parent',
'parent_item_colon' => 'Form Parents:',
'new_item_name' => 'New Form Name',
'add_new_item' => 'Add New Form',
'edit_item' => 'Edit Form',
'update_item' => 'Update Form',
'separate_items_with_commas' => 'Separate Form with commas',
'search_items' => 'Search Form',
'add_or_remove_items' => 'Add or remove Form',
'choose_from_most_used' => 'Choose from the most used Form',
'not_found' => 'Form Not Found',
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy( 'forms_tax', array( 'forms_cpt' ), $args );
}
add_action( 'init', 'gen_forms_tax', 0 );
function gen_forms_cpt() {
$labels = array(
'name' => 'Forms',
'singular_name' => 'Form',
'menu_name' => 'Form',
'name_admin_bar' => 'Form',
'parent_item_colon' => 'Form Parent:',
'all_items' => 'All Forms',
'view_item' => 'View Forms',
'add_new_item' => 'Add New Form',
'add_new' => 'Add New Form',
'new_item' => 'New Form',
'edit_item' => 'Edit Form',
'update_item' => 'Update Form',
'search_items' => 'Search Form',
'not_found' => 'Form Not found',
'not_found_in_trash' => 'Form Not found in Trash',
);
$args = array(
'description' => 'This Post Type Adds Form to Website',
'labels' => $labels,
'supports' => array( 'title', 'excerpt', ),
'taxonomies' => array( 'forms_tax' ),
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'rewrite' => array( 'slug' => 'Forms','with_front' => true, 'hierarchical' => true ),
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
);
register_post_type( 'forms_cpt', $args );
}
add_action( 'init', 'gen_forms_cpt', 0 );
Solution n°1 trouvée
Solution : Vous devez suivre les étapes ci-dessous.
1) Go to Settings from Admin panel.
2) Go to permalinks
3) Save the permalinks
Cela devrait fonctionner après avoir enregistré les parmaliens. Vous devez toujours mettre à jour les permaliens une fois que vous avez ajouté une règle de réécriture au site.
0 commentaire