概要
フィルタ elementor/kit/import-export/directory/{$path} は、Elementor プラグインにおいて、特定のパスでのテーマやテンプレートのインポートおよびエクスポートの処理時に使われます。このフィルタを利用することにより、ユーザーはプラグインの動作をカスタマイズし、特定のディレクトリパスを設定することができます。これにより、独自のテンプレートやカスタム設定を扱うための柔軟性が提供されます。
このフィルタの主な用途は以下のとおりです:
- Elementor テンプレートの保存場所を変更する。
- インポート/エクスポート用のカスタムディレクトリを指定する。
- デフォルトの動作を拡張して特定のファイルフォーマットをサポートする。
- 他のプラグインやテーマと連携するためのカスタムロジックを実装する。
- セキュリティやバージョン管理のための特別なディレクトリ構造を持つように行動を調整する。
- デフォルトのパスをフィルタリングし、ユーザー独自のロジックを適用する。
構文
apply_filters( 'elementor/kit/import-export/directory/{$path}', $directory );
パラメータ
$path:フィルタが適用されるディレクトリパスを含む文字列。$directory:変更される可能性のあるディレクトリの値。
戻り値
- フィルタを介して変更されたディレクトリパスの文字列。
使用可能なバージョン
- Elementor プラグインのバージョン:3.0以降
- WordPress のバージョン:5.0以降
この関数のアクションでの使用可能性
| アクション | 使用可能 |
|---|---|
| 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 |
サンプルコード
サンプルコード1
add_filter( 'elementor/kit/import-export/directory/{$path}', function( $directory ) {
return '/custom/path/to/templates/';
});
説明:Elementor のデフォルトのテンプレートの保存パスをカスタムパスに変更します。
サンプルコード2
add_filter( 'elementor/kit/import-export/directory/{$path}', function( $directory ) {
if ( user_can( get_current_user_id(), 'administrator' ) ) {
return '/admin/templates/';
}
return $directory;
});
説明:現在のユーザーが管理者の場合にのみ、テンプレートの保存パスを変更します。
サンプルコード3
add_filter( 'elementor/kit/import-export/directory/{$path}', function( $directory ) {
return str_replace( 'default/path', 'custom/path', $directory );
});
説明:デフォルトのパス内の文字列をカスタム文字列に置き換えます。
サンプルコード4
add_filter( 'elementor/kit/import-export/directory/{$path}', function( $directory ) {
$custom_path = get_option( 'my_custom_path_option' );
return $custom_path ? $custom_path : $directory;
});
説明:設定オプションから取得したカスタムパスを使用して、ディレクトリを動的に変更します。
サンプルコード5
add_filter( 'elementor/kit/import-export/directory/{$path}', function( $directory ) {
if ( ! is_user_logged_in() ) {
return '/public/templates/';
}
return $directory;
});
説明:ユーザーがログインしていない場合、公共のテンプレートパスに変更します。