我正在使用这个插件,它在小部件中显示活动类别或子类别描述。
http://wordpress.org/support/plugin/category-description-widget
当直接从菜单或其他小部件单击一个类别或子类别时,这非常有用。
但是,我也想在查看当前帖子时显示这个小部件。任何帮助都将不胜感激。
例如:假设我们的类别和子类别的结构是相应的:
,这就是它目前的工作方式:
当我单击“地理”时,将显示“地理”下的所有帖子。在小部件中,插件显示对地理的描述。
当我点击海洋,海洋下的所有帖子都会显示出来。在小部件中,插件显示海洋的描述。
我想添加额外的:
当我在海洋下的帖子,小部件应该显示海洋的描述。
下面是插件代码:
class Category_Description_Widget extends WP_Widget {
public function __construct() {
parent::__construct(
'category_description_widget', // Base ID
'Category Description Widget', // Name
array( 'description' => 'A widget with the category description', ) // Args
);
}
public function widget( $args, $instance ) {
if(!is_tax() && !is_category() && !is_tag()){
return false;
}
extract( $args );
echo $before_widget;
echo term_description();
echo $after_widget;
}
}
function category_description_widget_init(){
register_widget('Category_Description_Widget');
}
add_action( 'widgets_init', 'category_description_widget_init');发布于 2014-05-10 04:46:15
这应该行的。
class Category_Description_Widget extends WP_Widget {
public function __construct() {
parent::__construct(
'category_description_widget', // Base ID
'Category Description Widget', // Name
array( 'description' => 'A widget with the category description', ) // Args
);
}
public function widget( $args, $instance ) {
global $post;
if(!is_tax() && !is_category() && !is_tag() && !is_single()){
return false;
}
extract( $args );
if ( is_single() ) {
//Get current post category.
$cat = get_the_category($post->ID);
echo $before_widget;
echo $cat[0]->category_description;
echo $after_widget;
} else {
echo $before_widget;
echo term_description();
echo $after_widget;
}
}
}
function category_description_widget_init(){
register_widget('Category_Description_Widget');
}
add_action( 'widgets_init', 'category_description_widget_init');https://stackoverflow.com/questions/23571268
复制相似问题