如何基于post设置创建wordpress小部件

如何基于post设置创建wordpress小部件,wordpress,widget,shortcode,boilerplate,Wordpress,Widget,Shortcode,Boilerplate,我想创建一个WordPress插件/小部件,我可以通过VisualComposer区域(小部件应该是可选的)或简单地作为一个短代码添加到我的帖子中 这个小部件的功能是,它应该允许我将该帖子的设置作为主函数中的参数,以便我可以根据为帖子选择的内容更改小部件的输出 例如,我的所有帖子都有类别,如果我选择了某个类别,我想根据该类别更改小部件的输出 有人知道一个好的样板让我开始这个吗 谢谢您可以使用或for shortcode创建自己的小部件 由于您希望根据当前帖子,在widget()方法(即在前端打印

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

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

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

有人知道一个好的样板让我开始这个吗


谢谢

您可以使用或for shortcode创建自己的小部件

由于您希望根据当前帖子,在
widget()
方法(即在前端打印小部件内容的方法)中更改小部件(例如)中显示的内容,因此您可以添加条件或任何您想要打印的内容

小部件中有
$post
,因此,如果使用自定义字段,您可以使用
获取post\u meta()
等函数检索帖子设置,或者使用任何其他函数,如
获取\u ID()
具有\u 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.";
    }
}

非常感谢您的回复。它帮助我找到了我需要的答案。在shortcode函数中,我可以使用
get\u post()
返回我所有的帖子数据,还可以使用
wp\u get\u object\u术语($id,'portfolio\u categories')
帮助我获得帖子的类别列表。谢谢