有人能告诉我显示父类别及其子类别及其ID的代码吗?
例如,我想这样打印它们:
欧洲、英国、伦敦(欧洲是家长类别,英国是孩子,伦敦是英国的孩子)
102、150、175(这些是他们的相关ID)
欧洲、法国、巴黎102、153、189
欧洲、法国、戛纳102、153、192
我想做的是:我遵循的步骤(请检查此链接)
我只想更改此代码:
<ul> <?php wp_list_categories(\'show_count=1&title_li=&hide_empty=0\'); ?></ul>
这样,所有类别及其子类别的列表将与它们的ID一起以以下格式显示:
示例:Europe,United Kingdom,London, East Ham : 25,28,34,36 这只是一个父类别(欧洲)及其子类别(英国)。英国的子类别是伦敦,伦敦的子类别是东汉。25是欧洲id,28是英国id,34是伦敦id,36是东汉id
请注意:我只想在上面链接中描述的页面上显示此列表。非常感谢你
SO网友:Pat J
您是在寻找当前帖子的类别和父级列表,还是只是一个类别的一般列表?如果是前者,可以使用get_category_parents()
. 如果您在循环中,例如:
<?php
if( have_posts() ) :
while( have_posts() ) :
the_post();
// Post stuff
// ...
$cats = wp_get_post_categories( $post->ID );
foreach( $cats as $c ) {
$category_list = \'\'; // initialize our text strings
$category_id_list = \'\';
$display = false;
$sep = \', \';
$nice = false;
$parents = get_category_parents( $c, $display, $sep, $nice );
$_parents = explode( \',\', $parents ); // convert the string to an array
$_parent_ids = array(); // initialize the array for the IDs
foreach( $_parents as $p ) {
$_parent_ids[] = get_cat_ID( $p );
}
// convert the $_parent_ids array to a string
$parent_ids = implode( \', \', $_parent_ids );
echo( "$parents $parent_ids" );
}
endwhile;
endif;
?>
[编辑:清理了代码,并利用了PHP的
implode()
功能]