从wordpress文档中-https://codex.wordpress.org/Using_Permalinks
将%category%用于一篇文章的多个类别
当您为一篇文章分配多个类别时,永久链接中只能显示一个类别。类别按字母顺序排列。在每组子类别中,顺序也将按字母顺序排列。(请参见管理类别)。这篇文章仍然可以通过所有类别正常访问。
但是,您可以通过使用slug创建一个页面来达到您想要的效果listpublications
并添加以下代码:
add_action(\'init\', \'rewrite\');
add_filter(\'query_vars\', \'query_vars\');
function rewrite(){
add_rewrite_rule(\'listpublications/([^/]+)/([^/]+)/?$\', \'index.php?pagename=listpublications&magazine=$matches[1]&issue=$matches[2]\',\'top\');
}
function query_vars($query_vars) {
$query_vars[] = \'magazine\';
$query_vars[] = \'issue\';
return $query_vars;
}
现在转到设置->永久链接,然后单击保存。这将添加新的重写规则
very important.
现在在主题文件夹中创建一个名为page-listpublications.php
并在页脚和页眉之间添加以下代码。
global $wp_query;
$query_args = array(
// show all posts matching this query
\'posts_per_page\' => -1,
// show the \'publications\' custom post type
\'post_type\' => \'publications\',
// query for you custom taxonomy stuff
\'taq_query\' => array(
array(
\'taxonomy\' => \'magazine\',
\'field\' => \'slug\',
\'terms\' => $wp_query->query_vars[\'magazine\']
),
array(
\'taxonomy\' => \'issue\',
\'field\' => \'slug\',
\'terms\' => $wp_query->query_vars[\'issue\']
)
)
);
//fetch results from DB
$query = new WP_Query( $query_args );
if ($query->have_posts()): while ($query->have_posts()): $query->the_post();
// do something sweet with the results
the_content();
访问
www.yourdomain.com/listpublications/test-mag/2016-aug
应在《测试》杂志和2016年8月号上为您提供所有出版物。
希望这有帮助:)