分类术语固定链接不起作用

Taxonomy Term Permalink is Not Working

我有一个名为 forms_cpt 的 CPT 和一个名为 forms_tax 的分类法。在我的 page-forms.php 中,我可以创建一个包含 forms_tax 个术语的列表,例如

<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>

正在创建术语列表。但是每当我点击它们时,它都会出现错误 URL。例如,如果点击 soccer 字词,它会出现在

http://www.domain.ca/soccer/

而不是

http://www.domain.ca/Forms/soccer/

你能告诉我为什么会发生这种情况以及我做错了什么吗? 函数 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 );

解决方案:您需要按照以下步骤操作。

1) Go to Settings from Admin panel.
2) Go to permalinks
3) Save the permalinks 

保存parmalinks后它应该可以工作。一旦您向站点添加任何重写规则,您总是需要更新永久链接。