Включить слаг таксономии в URL?

У меня есть следующий пользовательский тип записи и пользовательская настройка таксономии:

add_action( 'init', 'create_post_type' );
function create_post_type() {
    register_post_type( 'system',
        array(
            'labels' => array(
                'name' => __( 'Systems' ),
                'singular_name' => __( 'System' )
            ),
        'capability_type' => 'post',
        'supports' => array('title','editor','comments'),   
        'public' => true,
        'has_archive' => true,
        'rewrite' => array( 'slug' => 'system' ),
        )
    );
}

function news_init() {
    register_taxonomy(
        'system',
        'system',
        array(
            'label' => __( 'Product Category' ),
            'sort' => true,
            'hierarchical' => true,
            'args' => array( 'orderby' => 'term_order' ),
            'rewrite' => array( 'slug' => 'products' )
        )
    );  
}
add_action( 'init', 'news_init' );

Можно ли включить имя пользовательской таксономии в URL-адрес?

В настоящее время, когда я перехожу к пользовательскому сообщению, URL-адрес выглядит следующим образом:

http://www.domain.com/products/(имя сообщения)/

Как я могу сделать так, чтобы это выглядело следующим образом?

http://www.domain.com/(категория-слаг)/(имясообщения)/

Я пытался перейти по этому URL-адресу, но он просто дает 404. У меня просто настроен стандартный шаблон архива.

(Пожалуйста, не переносите мой вопрос в стек Wordpress, так как там мало действий!)


ОБНОВИТЬ:

Я поместил приведенный ниже код на страницу, чтобы убедиться, что он идет на нужную страницу, и он идет к этому:

http://www.domain.com/products/(custom-taxonomy-slug )/

Это дает 404. Кажется, он не подбирает шаблоны (стандартные), и я также пытался добавить archive-products.php.

<?php $args = array( 'taxonomy' => 'my_term' );

$terms = get_terms('system', $args);

$count = count($terms); $i=0;
if ($count > 0) {
    $term_list = '<p class="my_term-archive">';
    foreach ($terms as $term) {
        $i++;
        $term_list .= '<a href="' . get_term_link( $term->slug, $term->taxonomy ) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a>';
        if ($count != $i) $term_list .= ' &middot; '; else $term_list .= '</p>';
    }
    echo $term_list;
} ?>

person Rob    schedule 24.10.2012    source источник


Ответы (1)


Ранее я использовал эту статью, чтобы добиться это. Под category-slug я предполагаю, что вы имели в виду таксономию для вашего пользовательского типа сообщений?

person SMacFadyen    schedule 24.10.2012
comment
Я обновил свой вопрос. Я наткнулся на эту ссылку и попытался, но все равно не повезло. Да, таксономия извините. - person Rob; 24.10.2012
comment
Я потратил на это 2 дня! Спасибо, что заглянули, но все равно не повезло. - person Rob; 25.10.2012