将自定义帖子类型动态追加到URL末尾

时间:2011-10-21 作者:Ben

目前,“我的导航”菜单的类别列表仅链接到正常的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;
谢谢

2 个回复
最合适的回答,由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

结束

相关推荐

带有Style.php和WordPress函数的wp_enQueue_style

我使用wp\\u enqueue\\u样式添加样式表,如下所示:<?php wp_enqueue_style( \'theme-style\', get_template_directory_uri() . \'/style.php\', false, \'1.0\', \'all\' ); ?> 工作正常,但I need to run a Wordpress function in the style.php file. 样式表文件不知道核心是否存在。This is what I\