概要
elementor/finder/categories
フィルタは、Elementorのビジュアルエディタ内でのウィジェットやテンプレートのカテゴリーをカスタマイズする際に使用されます。このフィルタを使用することで、特定のニーズに合わせたカテゴリーの追加や変更が可能になり、ユーザーがより使いやすいインターフェースを提供できます。このフィルタは、主に以下のような機能を実装する際に活用されます。
- カスタムウィジェットカテゴリーの追加
- 不要なウィジェットカテゴリーの非表示
- 特定のカテゴリーのウィジェットを強調表示
- テンプレートライブラリのカテゴリー整理
- ユーザーインターフェースのカスタマイズ
- 管理者専用のカテゴリーを設定
構文
add_filter( 'elementor/finder/categories', 'my_custom_categories' );
パラメータ
$categories
: 既存のカテゴリーの配列。
戻り値
- 変更されたカテゴリーの配列。
対応バージョン
- Elementor: 2.0以上
- WordPress: 4.0以上
サンプルコード
サンプル1: カスタムカテゴリーの追加
このサンプルコードは、Elementorのカテゴリーに新しいカテゴリーを追加するものです。
function add_custom_category( $categories ) {
$categories[] = [
'title' => '新しいカテゴリー',
'slug' => 'new-category',
];
return $categories;
}
add_filter( 'elementor/finder/categories', 'add_custom_category' );
引用元: [https://developer.elementor.com/docs]
サンプル2: カテゴリーの非表示
このサンプルコードでは、特定のカテゴリーを非表示にします。
function hide_custom_category( $categories ) {
foreach ( $categories as $key => $category ) {
if ( 'old-category' === $category['slug'] ) {
unset( $categories[ $key ] );
}
}
return $categories;
}
add_filter( 'elementor/finder/categories', 'hide_custom_category' );
引用元: [https://developer.elementor.com/docs]
サンプル3: カテゴリーのラベル変更
このサンプルコードは、特定のカテゴリーのラベルを変更します。
function change_category_label( $categories ) {
foreach ( $categories as &$category ) {
if ( 'default' === $category['slug'] ) {
$category['title'] = 'デフォルトウィジェット';
}
}
return $categories;
}
add_filter( 'elementor/finder/categories', 'change_category_label' );
引用元: [https://developer.elementor.com/docs]
サンプル4: ランダムカテゴリーの追加
このコードは、ランダムにカテゴリーを追加するサンプルです。
function random_category( $categories ) {
$categories[] = [
'title' => 'ランダムカテゴリー',
'slug' => uniqid('random-'),
];
return $categories;
}
add_filter( 'elementor/finder/categories', 'random_category' );
引用元: [https://developer.elementor.com/docs]
サンプル5: 複数カテゴリーの追加
このサンプルは、複数のカテゴリーを一度に追加します。
function add_multiple_categories( $categories ) {
$new_categories = [
['title' => 'ビジネス', 'slug' => 'business'],
['title' => 'デザイン', 'slug' => 'design'],
];
return array_merge( $categories, $new_categories );
}
add_filter( 'elementor/finder/categories', 'add_multiple_categories' );
引用元: [https://developer.elementor.com/docs]
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |