0

我正在编写插件,在那里我需要检查一个小部件是否在使用中。如果小部件正在使用中,那就太好了,但如果不是,我想显示错误消息。

我尝试的代码是这样的,但它不起作用。我没有收到任何消息。

function my_widgie_detect()  {
  if ( false === is_active_widget( 'testimonial' )) {
    // do something here if the widget isn't active;
    echo '<div id="message" class="updated fade"><p>No active</p></div>';
  } else {
    echo '<div id="message" class="updated fade"><p>Active</p></div>';
   }
}
add_action( 'wp_head', 'my_widgie_detect' );

那么如何识别小部件是否打开,如果没有,wordpress 会显示一条消息?

4

3 回答 3

2

我的一个客户想检查是否有搜索小部件从模板文件中激活到侧边栏中,所以这里是代码,我猜这就是你需要的!我希望它也能帮助其他人!

<?php if(is_active_widget(false,false,'search')){
echo "Search Widget is activated"; //We don't need to place the search box here, since we have already into the sidebar.
}else{
get_search_form();
}
?>
于 2012-09-24T23:16:03.323 回答
1

让它像这样工作:

function check_widget() {
    if( is_active_widget( '', '', 'testimonial' ) ) { // check if search widget is used
        //yay! active
    } else { echo '<div id="message" class="updated fade"><p><strong>Widget is not active! Remembet to activate it here!</p></div>'; }
}

add_action( 'init', 'check_widget' );
于 2012-08-30T06:59:52.357 回答
0

您正在使用wp_head操作,因此您的消息 div 将位于 head 部分并且不会显示...查看http://codex.wordpress.org/Plugin_API/Action_Reference以使用其他操作,或者只是修改您的模板。

于 2012-08-29T15:53:34.950 回答