概要
elementor/documents/get/post_id
関数は、Elementor におけるドキュメントの ID を取得するために使用されます。この関数は、テーマやプラグインで Elementor を利用してカスタマイズを行う際に便利です。具体的には、以下のような機能を実装する際によく使われます。
- カスタムテンプレートの作成
- 特定のページに対するレイアウトの調整
- Elementor 編集画面での特定の条件処理
- 特定のウィジェットの設定変更
- テンプレートの条件付き表示
- 保存時のデータ処理
構文
function get_post_id( $document ) {
// ここに処理が入ります
}
パラメータ
$document
: Elementor におけるドキュメントオブジェクト。
戻り値
- ドキュメントに関連付けられたポストの ID。
使用可能なプラグインのバージョン
- Elementor: 最低バージョン 2.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_action( 'elementor/element/before_section_end', function( $element, $args ) {
$post_id = $element->get_settings_for_display( 'post_id' );
if ( $post_id === 123 ) {
$element->update_settings( 'title', 'カスタムタイトル' );
}
}, 10, 2 );
このコードでは、Elementor の特定の要素に対して、ポスト ID が 123 の場合にカスタムタイトルを設定しています。
サンプルコード2: ドキュメントタイプに基づくカスタムメタデータ取得
add_action( 'elementor/documents/get/post_id', function( $document ) {
$post_id = $document->get_post_id();
$meta = get_post_meta( $post_id, '_custom_meta', true );
return $meta ? $meta : 'デフォルトメタ';
});
このコードは、指定されたポスト ID に関連付けられたカスタムメタデータを取得し、存在しない場合にはデフォルトメタを返します。
サンプルコード3: Elementorのカスタム条件を使用して特定のウィジェットを表示
add_action( 'elementor/widget/render_content', function( $content, $widget ) {
$post_id = $widget->get_settings( 'post_id' );
if ( $post_id === get_the_ID() ) {
return $content;
}
return '';
}, 10, 2 );
このサンプルコードは、ウィジェットが現在のポスト ID と一致する場合のみコンテンツを表示します。
サンプルコード4: Elementorでのユーザー条件チェック
add_action( 'elementor/frontend/before_render', function() {
$elementor_data = ElementorPlugin::instance();
$current_user_id = get_current_user_id();
if ( $current_user_id ) {
// ユーザーに基づく特定の設定を適用
}
});
このコードでは、Elementor の表示前に現在のユーザー ID をチェックし、その情報に基づいて特定の設定を適用する準備をしています。
サンプルコード5: Elementor 編集画面の動的内容をカスタマイズ
add_action( 'elementor/editor/after_enqueue_styles', function() {
$document = ElementorPlugin::instance()->documents->get_current();
$post_id = $document->get_post_id();
// ポスト ID に基づくスタイルの追加
});
このコードは、Elementor のエディタースタイルをカスタマイズし、現在のドキュメントのポスト ID に基づいてスタイルを追加するためのものです。
参照 URL
これらのサンプルコードは、Elementor の公式ドキュメンテーションや GitHub などのリソースから取得した一般的な構造を基にしています。具体的な URL は含まれていませんが、Elementor の公式サイト(elementor.com)や WordPress Codex などを参考にしてください。