我希望我能理解你的问题,因为最近我发现自己需要在帖子的层次菜单中动态地包含一个子类别列表及其计数,所以我想到了这个:
我把这个放在一个叫做listcat.php
<?php
/*
Plugin Name: List Categories
Reference: http://codex.wordpress.org/Template_Tags/wp_list_categories
Description: Simple plugin to display categories in any post or page
with a shortcode. It\'s basically a shortcode API interface to the
wp_list_categories WordPress function.
*/
class ListCategories{
static function list_categories($atts, $content = null) {
$atts = shortcode_atts(
array(
\'show_option_all\' => \'\',
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'style\' => \'list\',
\'show_count\' => 0,
\'hide_empty\' => 1,
\'use_desc_for_title\' => 1,
\'child_of\' => 0,
\'feed\' => \'\',
\'feed_type\' => \'\',
\'feed_image\' => \'\',
\'exclude\' => \'\',
\'exclude_tree\' => \'\',
\'include\' => \'\',
\'hierarchical\' => 1,
\'title_li\' => __( \'Categories\' ),
\'show_option_none\' => __( \'No categories\' ),
\'number\' => null,
\'echo\' => 1,
\'depth\' => 0,
\'current_category\' => 0,
\'pad_counts\' => 0,
\'taxonomy\' => \'category\',
\'walker\' => null
), $atts
);
ob_start();
wp_list_categories($atts);
$output = ob_get_contents();
ob_end_clean();
return $output;
}
}
add_shortcode( \'categories\', array(\'ListCategories\', \'list_categories\') );
完成后,我会将其包含在我的头文件中(从技术上讲,您可以将其放在任何地方,但如果您希望它在任何地方都可用,那么请确保它是一个到处加载的部分,如页眉、页脚、挂钩等:
include \'/server/path/to/the/file/listcat.php\';
然后,从站点中的任何帖子或页面,您可以使用快捷码生成您想要动态更新的类别/或子类别的列表和层次结构(如果需要),其中包含的内容也会自动更新,无需再次执行或手动更新任何内容。以下是我为自己所做的一个例子:
[categories child_of=36 hide_empty=0 title_li=\'Explore Samples\' orderby=id show_count=1]
它为我产生了这样的效果:
你可以根据自己的需要对其进行调整和设计,希望对你有所帮助。我还提供了指向Codex文档的链接,以便您可以查看每个选项的功能以及显示方式,以帮助您决定使用什么。祝你好运