目前,“我的导航”菜单的类别列表仅链接到正常的post\\u类型存档。我想动态附加一个自定义帖子类型,具体是?post\\u type=公文包,到每个url的末尾,即特定的下拉列表。但目前我真的对php正则表达式一无所知,除了我认为这是它工作所需要的。
这是我在函数中得到的代码。到目前为止的php文件,特别是针对所讨论的下拉列表。正如你所看到的,我的主题在链接结束后附加了类别帖子数量,我想把它保留在那里。
$folio = wp_list_categories(\'show_count=1&echo=0&child_of=86&title_li=<a href="http://pixelsandtea.com/category/portfolio/?post_type=portfolio" title="View all Portfolio items">Portfolio</a>\');
$folio = preg_replace(\'/\\<\\/a\\> \\((.*)\\)/\',\' <span>$1</span></a>\',$folio);
echo $folio;
谢谢
最合适的回答,由SO网友:cbaigorri 整理而成
下面是我想出的解决这个确切问题的方法。
add_action(\'wp_list_categories\',\'example_wp_list_categories\');
function example_wp_list_categories($output) {
global $post;
foreach (get_categories() as $cat) {
if (preg_match("/\\/category\\/$cat->slug\\//", $output)) {
$output = str_replace(\'/category/\' . $cat->slug . \'/\', \'/category/\' . $cat->slug . \'/?post_type=\' . $post->post_type, $output);
}
}
return $output;
}
Regex不是我的强项,因此可能需要改进。
SO网友:saq
我有点困惑,你想在类别中附加post\\u类型吗?类别是一种分类法?post\\u类型有所不同。
如果我没记错的话,您想为自定义post\\u类型分类法创建下拉列表吗?如果是,请使用以下代码
<? wp_dropdown_categories(array(\'hide_empty\' => 0, \'taxonomy\' => \'chefs\'\'name\' => \'select_name\', \'hierarchical\' => true)); ?>
将“chef”替换为分类法,默认情况下,“category”用于post\\u type=post