Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用WordPress使小部件不出现在某些页面/帖子上_Php_Wordpress - Fatal编程技术网

Php 如何使用WordPress使小部件不出现在某些页面/帖子上

Php 如何使用WordPress使小部件不出现在某些页面/帖子上,php,wordpress,Php,Wordpress,我正在开发一个小部件,它为post显示额外的数据。在“编辑/新建帖子”页面上,添加了带有字段的metabox以输入此附加数据。因此,我们的目标是使这个小部件只在设置了这些数据的帖子中显示,而不在没有设置的帖子中显示。小部件位于侧栏中 (我不需要使用“其他插件”的建议,也不需要弄乱主题模板) 编辑:我发现了一个名为“sidebar_widgets”的钩子,它在回调函数中传递$sidebar_widgets对象 您可以在小部件的widget方法中检查当前帖子的元字段。即: class MyAweso

我正在开发一个小部件,它为post显示额外的数据。在“编辑/新建帖子”页面上,添加了带有字段的metabox以输入此附加数据。因此,我们的目标是使这个小部件只在设置了这些数据的帖子中显示,而不在没有设置的帖子中显示。小部件位于侧栏中

(我不需要使用“其他插件”的建议,也不需要弄乱主题模板)


编辑:我发现了一个名为“sidebar_widgets”的钩子,它在回调函数中传递$sidebar_widgets对象

您可以在小部件的
widget
方法中检查当前帖子的元字段。即:

class MyAwesomeWidget extends WP_Widget {}

  // ...

  function widget ( $args, $instance ) {

    // display only on pages that have _show_my_awesome_widget meta field set to "1"
    if ( get_post_meta( get_the_ID(), '_show_my_awesome_widget', true ) != 1 )
      return;

    // do your widget stuff here
    // ...

  }

}

你试过什么吗?一些代码可能会有帮助。问题是-我不知道-我用这个插件完成了我需要的一切,我唯一不知道的是-如何控制它只出现在某些页面上。。。我可以控制它的内容,但我不知道如何过滤它的实际外观。可湿性粉剂文件是没有帮助的-我的意思是它可怕的。。。在其他插件中找到了一些提示,一些带有“边栏小部件”的东西,我投票将这个问题作为离题题来结束,因为它属于Omg,它起作用了。。。我觉得很愚蠢,很抱歉打扰你。我没有试着回来,我尝试只打印“”;它正在插入一个空的小部件。非常感谢。