首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wordpress -在Widget中显示当前帖子的类别描述

Wordpress -在Widget中显示当前帖子的类别描述
EN

Stack Overflow用户
提问于 2014-05-09 18:04:59
回答 1查看 1.1K关注 0票数 0

我正在使用这个插件,它在小部件中显示活动类别或子类别描述。

http://wordpress.org/support/plugin/category-description-widget

当直接从菜单或其他小部件单击一个类别或子类别时,这非常有用。

但是,我也想在查看当前帖子时显示这个小部件。任何帮助都将不胜感激。

例如:假设我们的类别和子类别的结构是相应的:

  • 地理 -海洋 -土地

,这就是它目前的工作方式:

当我单击“地理”时,将显示“地理”下的所有帖子。在小部件中,插件显示对地理的描述。

当我点击海洋,海洋下的所有帖子都会显示出来。在小部件中,插件显示海洋的描述。

我想添加额外的:

当我在海洋下的帖子,小部件应该显示海洋的描述。

下面是插件代码:

代码语言:javascript
运行
复制
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');
EN

回答 1

Stack Overflow用户

发布于 2014-05-10 04:46:15

这应该行的。

代码语言:javascript
运行
复制
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');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23571268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档