如何显示自定义帖子中的类别信息

时间:2010-11-19 作者:Jeff Tancil

我创建了一个使用自定义帖子的页面:http://www.africanhealthleadership.org/resources/toolkit/

每个工具(准备、评估等)都是一个自定义帖子。在WP Admin上,每个工具都是一个类别;每个类别都有一个“描述”字段。我想在Toolkit页面上输出这些描述。我尝试使用此选项,但未显示任何内容:<?php echo category_description( $category ); ?>

现在,描述已硬编码到页面中。准备工作开始于“准备工具建立……”

谢谢你的建议!杰夫

这是一个循环,用于显示自定义帖子类型:

<?php
query_posts( array( \'post_type\' => \'portfolio\', \'toolkit\' => \'preparation\' ) );
//the loop start here
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<?php the_content(); ?>
<?php endwhile; endif; wp_reset_query(); ?>
下面是函数的代码。php

add_action(\'init\', \'portfolio_register\');

function portfolio_register() {

$labels = array(
    \'name\' => _x(\'Toolkit\', \'post type general name\'),
    \'singular_name\' => _x(\'Tool\', \'post type singular name\'),
    \'add_new\' => _x(\'Add New Tool\', \'tool\'),
    \'add_new_item\' => __(\'Add New Tool\'),
    \'edit_item\' => __(\'Edit Tool\'),
    \'new_item\' => __(\'New Tool\'),
    \'view_item\' => __(\'View Tool\'),
    \'search_items\' => __(\'Search Toolkit\'),
    \'not_found\' =>  __(\'Nothing found\'),
    \'not_found_in_trash\' => __(\'Nothing found in Trash\'),
    \'parent_item_colon\' => \'\'
);

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true,
    \'query_var\' => true,
    \'menu_icon\' => get_stylesheet_directory_uri() . \'/article16.png\',
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'menu_position\' => null,
    \'supports\' => array(\'title\',\'editor\',\'thumbnail\')
  ); 

register_post_type( \'portfolio\' , $args );
}

register_taxonomy("toolkit", array("portfolio"), array("hierarchical" => true,   "label"     => "Tool Categories", "singular_label" => "Tool", "rewrite" => true));

2 个回复
最合适的回答,由SO网友:anu 整理而成

要获得这篇文章的分类术语,那么您需要的是wp_get_post_terms($post->ID, \'yourtaxonomyname\')

这将为指定的帖子返回指定分类法中的术语数组。codex页面为:http://codex.wordpress.org/Function_Reference/wp_get_post_terms

如果要查找分类法中的特定术语,请获取\\u term($taxonomy\\u name,$term\\u id)。还可以使用get\\u terms()获取分类法的所有术语

下面是一个如何使用它的示例。

$terms = wp_get_post_terms($post->ID,\'toolkit\');  
foreach ($terms as $term) {  
    echo $term->description;  
}  

SO网友:MathSmath

使您将数字类别id传递到category\\u description函数中。

变量$类别的值不会自动填充自身,如果这是您所期望的。您需要为输出的每个类别设置它。

如果您发布相关代码(您用于啜饮该类别列表的循环),则更容易进行故障排除。

结束

相关推荐