I have CPT called forms_cpt
and a Taxonomy called forms_tax
. In my page-forms.php
I am able to crate a list of forms_tax
terms like
<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>
which is creating a list of terms. but whenever I click on them it landed in a wrong URL. For example if click on soccer
term it landed at
http://www.domain.ca/soccer/
instead of
http://www.domain.ca/Forms/soccer/
What am I doing wrong?
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 : You need to follow the steps given below.
1) Go to Settings from Admin panel.
2) Go to permalinks
3) Save the permalinks
It should work after you save the parmalinks. You always need update the permalinks once you add any rewrite rule to the site.