0

私はプラグインを書いていますが、そこで 1 つのウィジェットが使用されているかどうかを確認する必要があります。ウィジェットが使用されている場合は問題ありませんが、使用されていない場合はエラー メッセージを表示したいと考えています。

私が試したコードはこのようなものですが、うまくいきません。どちらのメッセージも届きません。

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' );

では、ウィジェットがオンになっているかどうかを認識する方法と、そうでない場合はワードプレスがメッセージを表示する方法を教えてください。

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 に答える