【问题标题】:How to create a wordpress widget based on post settings如何根据帖子设置创建 wordpress 小部件
【发布时间】:2017-08-26 21:11:12
【问题描述】:

我想创建一个 WordPress 插件/小部件,我可以通过 Visual Composer 区域(小部件应该是可选择的)或简单地作为简码将其添加到我的帖子中。

这个小部件的功能是它应该允许我将该帖子的设置作为主函数中的参数,以便我可以根据为帖子选择的内容更改小部件的输出。

例如,我的所有帖子都有类别,如果我选择了某个类别,我想根据该类别更改小部件的输出。

有没有人知道一个好的样板让我开始做这个?

谢谢

【问题讨论】:

    标签: wordpress widget shortcode boilerplate


    【解决方案1】:

    您可以使用Widget APIShortcode API 作为短代码创建自己的小部件。

    由于您想根据当前帖子更改例如小部件中显示的内容,在 widget() 方法(这是在前端打印小部件内容的方法)中,您可以添加条件或任何你想在那里打印的东西。

    $post 在您的小部件中可用,因此如果您使用自定义字段,您可以使用get_post_meta() 等函数或get_the_ID()has_category() 等任何其他函数来检索帖子的设置。

    例如:

    /**
     * Outputs the content of the widget
     *
     * @param array $args
     * @param array $instance
     */
    public function widget( $args, $instance ) {
        if ( has_category( 'books' ) ) {
            echo 'Hey!, I have the Books category!';
        } else {
            echo "Hey... I don't.";
        }
    }
    

    【讨论】:

    • 非常感谢您的回复。它帮助我找到了我需要的答案。在简码函数中,我可以使用 get_post() 返回我所有的帖子数据以及 wp_get_object_terms( $id, 'portfolio_categories') 这帮助我获取帖子的类别列表。谢谢!
    猜你喜欢
    • 2016-03-29
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多