概要
elementor/widgets/wordpress/widget_args
フィルタは、Elementorで使用されるウィジェットの引数を変更するためのフックです。ElementorはWordPressの人気のあるページビルダーで、このフィルタを使用することで、ウィジェットの動作や外観をカスタマイズすることができます。具体的には以下のような機能を実装する際によく使われます。
- ウィジェットのデフォルト設定の変更
- 特定の条件に基づいてウィジェットのプロパティを調整
- カスタムスタイルやクラスを追加
- 複雑なウィジェットを操作するための追加パラメータの挿入
- ウィジェットの出力をフィルタリングし、カスタマイズ
- ユーザーのロールや権限に応じたウィジェットの表示制御
このフィルタは、Elementorのバージョン3.0以上およびWordPressのバージョン5.0以上で使用可能です。
構文
add_filter('elementor/widgets/wordpress/widget_args', 'your_callback_function', 10, 2);
-
パラメータ:
$args
: ウィジェットの引数(配列)$widget
: 現在のウィジェットインスタンス
-
戻り値: 修正された引数(配列)
サンプルコード
サンプル1: ウィジェットのデフォルトクラスを追加
このコードでは、特定のウィジェットに追加のCSSクラスを指定します。
add_filter('elementor/widgets/wordpress/widget_args', function($args, $widget) {
if ($widget->get_name() === 'text-editor') {
$args['class'] .= ' my-custom-class';
}
return $args;
});
サンプル2: ウィジェットの設定を変更
特定のウィジェットのデフォルトの設定を変更する例です。
add_filter('elementor/widgets/wordpress/widget_args', function($args, $widget) {
if ($widget->get_name() === 'image') {
$args['settings']['image_size'] = 'large';
}
return $args;
});
サンプル3: 特定のユーザー権限に基づきウィジェットの出力を制御
この例では、特定のユーザー権限に基づいてウィジェットを非表示にします。
add_filter('elementor/widgets/wordpress/widget_args', function($args, $widget) {
if ($widget->get_name() === 'my-custom-widget' && !current_user_can('edit_posts')) {
return false; // ウィジェットを非表示
}
return $args;
});
サンプル4: カスタムスタイルの適用
ウィジェットにカスタムスタイルを追加する例です。
add_filter('elementor/widgets/wordpress/widget_args', function($args, $widget) {
if ($widget->get_name() === 'button') {
$args['class'] .= ' custom-button-style';
}
return $args;
});
サンプル5: ウィジェットの設定にカスタムパラメータの追加
ウィジェットにカスタムパラメータを追加する例です。
add_filter('elementor/widgets/wordpress/widget_args', function($args, $widget) {
if ($widget->get_name() === 'divider') {
$args['settings']['custom_divider'] = 'my-custom-value';
}
return $args;
});
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |