Пользовательская перезапись постоянных ссылок на таксономический архив

У меня есть собственный тип сообщения под названием datacenter_news и таксономия для него под названием dc_news_tax. И архив типов сообщений, и архив таксономии работают должным образом. Но когда я пытаюсь добавить настраиваемый ярлык перезаписи под названием datacenter-news в тип сообщения, URL-адреса моих терминов таксономии перестают работать и дают мне страницу 404.

Сейчас структура постоянных ссылок выглядит так.

datacenter_news/dc_news_tax/term

а вот как я хочу, чтобы это выглядело

datacenter-news/dc_news_tax/term

Вот зарегистрированный тип сообщения.

function cptui_register_my_cpts_datacenter_news() {

    $labels = array(
        "name" => __( "Data Center News", "custom-post-type-ui" ),
        "singular_name" => __( "Data Center News", "custom-post-type-ui" ),
    );

    $args = array(
        "label" => __( "Data Center News", "custom-post-type-ui" ),
        "labels" => $labels,
        "description" => "",
        "public" => true,
        "publicly_queryable" => true,
        "show_in_rest" => true,
        "rest_base" => "",
        "rest_controller_class" => "WP_REST_Posts_Controller",
        "has_archive" => true,
        "capability_type" => "post",
        "map_meta_cap" => true,
        "hierarchical" => false,
        "rewrite" => array( "slug" => "datacenter-news", "with_front" => false ),
        "query_var" => true,
        "supports" => array( "title", "editor", "thumbnail" ),
        "taxonomies" => array( "news_tag", "dc_news_tax" ),
    );

    register_post_type( "datacenter_news", $args );
}

add_action( 'init', 'cptui_register_my_cpts_datacenter_news' );

а вот зарегистрированная таксономия

function cptui_register_my_taxes_dc_news_tax() {

    $labels = array(
        "name" => __( "News Category", "custom-post-type-ui" ),
        "singular_name" => __( "News Category", "custom-post-type-ui" ),
    );

    $args = array(
        "label" => __( "News Category", "custom-post-type-ui" ),
        "labels" => $labels,
        "public" => true,
        "publicly_queryable" => true,
        "hierarchical" => true,
        "query_var" => true,
        "rewrite" => array( 'slug' => 'dc_news_tax', 'with_front' => true,  'hierarchical' => true, ),
        "show_admin_column" => false,
        "show_in_rest" => true,
        "rest_base" => "dc_news_tax",
        "rest_controller_class" => "WP_REST_Terms_Controller",
        "show_in_quick_edit" => false,
        );
    register_taxonomy( "dc_news_tax", array( "datacenter_news" ), $args );
}
add_action( 'init', 'cptui_register_my_taxes_dc_news_tax' );

Мои настройки постоянной ссылки для типа сообщения выглядят так /%dc_news_tax%/%postname%/

Что мне нужно изменить, чтобы пользовательский ярлык перезаписи работал с URL-адресами моих терминов таксономии?

Заранее спасибо.


person Wilhelm90    schedule 25.08.2020    source источник


Ответы (1)


Это может быть вызвано несколькими причинами. Я бы обратился к документации относительно создания пользовательских типов сообщений. Сначала я попробую изменить это в вашем коде. Затем обновите постоянные ссылки

https://www.smashingmagazine.com/2012/11/complete-guide-custom-post-types/

Из

register_post_type( "datacenter_news", $args );

To

register_post_type( "datacenter-news", $args );

Из

register_taxonomy( "dc_news_tax", array( "datacenter_news" ), $args )

To

register_taxonomy( "dc_news_tax", array( "datacenter-news" ), $args )
person beatnik    schedule 25.08.2020