У меня есть следующий пользовательский тип записи и пользовательская настройка таксономии:
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-адрес выглядит следующим образом:
Как я могу сделать так, чтобы это выглядело следующим образом?
Я пытался перейти по этому URL-адресу, но он просто дает 404. У меня просто настроен стандартный шаблон архива.
(Пожалуйста, не переносите мой вопрос в стек Wordpress, так как там мало действий!)
ОБНОВИТЬ:
Я поместил приведенный ниже код на страницу, чтобы убедиться, что он идет на нужную страницу, и он идет к этому:
Это дает 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 .= ' · '; else $term_list .= '</p>';
}
echo $term_list;
} ?>