is_active_widget()


WordPressのis_active_widget()関数は、指定されたウィジェットが現在アクティブかどうかを確認するために使用されます。この関数は、ウィジェットがサイドバーやフッターなどのウィジェットエリアに表示されているかどうかをチェックします。

構文

is_active_widget( string|false $callback = false, int|false $widget_id = false, int|false $id = false, bool $skip_inactive = true );

引数の説明:

  • $callback (string|false) — チェックするウィジェットのコールバック関数名。デフォルトはfalse。
  • $widget_id (int|false) — チェックするウィジェットのID。デフォルトはfalse。
  • $id (int|false) — チェックするウィジェットのインスタンスID。デフォルトはfalse。
  • $skip_inactive (bool) — 非アクティブなウィジェットをスキップするかどうか。デフォルトはtrue。

例1: 特定のウィジェットがアクティブかどうかを確認する

この例では、カレンダーウィジェットがアクティブかどうかを確認します。

<?php if ( is_active_widget( 'WP_Widget_Calendar', false, false, true ) ) { echo 'カレンダーウィジェットがアクティブです。'; } ?>

例2: ウィジェットIDを使用してアクティブかどうかを確認する

この例では、特定のウィジェットIDを使用してウィジェットがアクティブかどうかを確認します。

<?php if ( is_active_widget( false, 'calendar-2', false, true ) ) { echo 'IDがcalendar-2のウィジェットがアクティブです。'; } ?>

例3: インスタンスIDを使用してアクティブかどうかを確認する

この例では、特定のインスタンスIDを使用してウィジェットがアクティブかどうかを確認します。

<?php if ( is_active_widget( false, false, 2, true ) ) { echo 'インスタンスIDが2のウィジェットがアクティブです。'; } ?>

例4: 非アクティブなウィジェットもチェックする

この例では、非アクティブなウィジェットも含めてチェックします。

<?php if ( is_active_widget( 'WP_Widget_Archives', false, false, false ) ) { echo 'アーカイブウィジェットがアクティブまたは非アクティブです。'; } ?>

例5: 複数のウィジェットをチェックする

この例では、複数のウィジェットがアクティブかどうかを確認します。

<?php if ( is_active_widget( 'WP_Widget_Search', false, false, true ) || is_active_widget( 'WP_Widget_Recent_Posts', false, false, true ) ) { echo '検索ウィジェットまたは最近の投稿ウィジェットがアクティブです。'; } ?>

例6: ウィジェットが非アクティブの場合にメッセージを表示する

この例では、ウィジェットが非アクティブの場合にメッセージを表示します。

<?php if ( !is_active_widget( 'WP_Widget_Meta', false, false, true ) ) { echo 'メタウィジェットは非アクティブです。'; } ?>

注意点

  • この関数は、ウィジェットがアクティブかどうかを確認するために使用されますが、ウィジェットが実際に表示されているかどうかを保証するものではありません。
  • ウィジェットが非アクティブな場合、$skip_inactiveをfalseに設定しない限り、関数はfalseを返します。

関連機能: