wp_register_widget_control()


関数 WordPresswp_register_widget_control()は、ウィジェットのコントロールインターフェースを登録するために使用されます。

構文

wp_register_widget_control( string $id, string $name, callable $control_callback, array $options = array(), mixed $callback_args = null );

引数の説明:

  • $id (string) — ウィジェットの一意の識別子。
  • $name (string) — ウィジェットの名前。
  • $control_callback (callable) — ウィジェットの設定を処理するためのコールバック関数。
  • $options (array) — オプションの配列(例: 幅や高さの設定)。
  • $callback_args (mixed) — コールバック関数に渡す追加の引数。

例 1: 基本的なウィジェットコントロールの登録

以下のコードは、カスタムウィジェットコントロールを登録する方法を示します。

<?php
function my_widget_control() {
    echo '<p>ここにウィジェットの設定フォームを表示します。</p>';
}
wp_register_widget_control( 'my_widget', 'My Custom Widget', 'my_widget_control' );
?>

例 2: ウィジェットのオプションを含めた登録

ウィジェットの幅と高さを設定するオプションを含めた例。

<?php
function my_widget_control_with_options() {
    echo '<p>このウィジェットにはカスタムオプションが含まれます。</p>';
}
wp_register_widget_control( 'my_widget_options', 'My Widget With Options', 'my_widget_control_with_options', array( 'width' => 400, 'height' => 200 ) );
?>

例 3: コールバック引数を利用する

特定のデータを渡してコントロールコールバックで使用する方法。

<?php
function my_widget_control_with_args( $args ) {
    echo '<p>引数: ' . esc_html( $args['custom'] ) . '</p>';
}
wp_register_widget_control( 'my_widget_args', 'My Widget With Args', 'my_widget_control_with_args', array(), array( 'custom' => 'カスタムデータ' ) );
?>

例 4: 条件付きでウィジェットを登録する

特定の条件下でウィジェットを登録する例。

<?php
if ( current_user_can( 'manage_options' ) ) {
    wp_register_widget_control( 'admin_widget', 'Admin Widget', 'my_widget_control' );
}
?>

例 5: 登録されたウィジェットの確認

登録されたウィジェットが存在するか確認するコード。

<?php
if ( is_registered_sidebar( 'sidebar-1' ) ) {
    echo 'サイドバーが登録されています。';
}
?>

関連機能: