ワードプレスのwp_post_revision_meta_keysフィルタの使用方法・解説

概要

wp_post_revision_meta_keysフィルタは、WordPressのリビジョン対象の投稿メタフィールドキーを取得する際に使用されます。このフィルタを通じて、特定のリビジョンに関連するメタデータキーを追加、削除、あるいは変更することができます。これにより、カスタムメタデータの管理や表示をより柔軟に行うことが可能になります。

このフィルタが実装されることが多いケースには以下のようなものがあります:

  1. カスタムメタデータをリビジョンに保存する
  2. 特定のメタデータをリビジョンの保存から除外する
  3. リビジョンに関連するデータの整合性を確認する
  4. 自動保存機能のカスタマイズ
  5. ボリュームの大きいメタデータの最適化
  6. リビジョンの履歴の管理
  7. メタデータのフィルタリングやバリデーション
  8. リビジョンの作成条件の変更

構文

apply_filters( 'wp_post_revision_meta_keys', array $meta_keys, int $post_id );

パラメータ

  • $meta_keys:リビジョンで使用されるメタフィールドのキーの配列。
  • $post_id:リビジョンが関連付けられている投稿のID。

戻り値

  • フィルタ後のメタフィールドキーの配列。

関連する関数

wp_post_revision_meta_keys

使用可能なバージョン

  • このフィルタは、WordPress 3.6以降で使用可能です。

コアファイルのパス

  • wp-includes/revision.php

この関数のアクションでの使用可能性

アクション 使用可能性
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( 'wp_post_revision_meta_keys', function( $keys ) {
    $keys[] = 'custom_meta_key';
    return $keys;
} );

サンプル2: メタデータの削除

特定のメタデータキーをリビジョンから除外するためのコードです。

add_filter( 'wp_post_revision_meta_keys', function( $keys ) {
    $keys = array_diff( $keys, array( 'unwanted_meta_key' ) );
    return $keys;
} );

サンプル3: メタデータの変更

特定のメタデータキーの名前を変更するサンプルコードです。

add_filter( 'wp_post_revision_meta_keys', function( $keys ) {
    if ( in_array( 'old_meta_key', $keys ) ) {
        $keys[array_search( 'old_meta_key', $keys )] = 'new_meta_key';
    }
    return $keys;
} );

サンプル4: メタデータの確認

リビジョンメタデータの整合性を確認するためのコードです。

add_filter( 'wp_post_revision_meta_keys', function( $keys, $post_id ) {
    // 整合性チェックのロジックを追加
    return $keys;
}, 10, 2 );

サンプル5: 自動保存のカスタマイズ

自動保存時に特定のメタデータをリビジョンに保存させるためのサンプルです。

add_filter( 'wp_post_revision_meta_keys', function( $keys ) {
    // 自動保存時に特定のメタデータを追加
    if ( wp_is_auto_save() ) {
        $keys[] = 'auto_save_meta_key';
    }
    return $keys;
} );

各サンプルコードは、wp_post_revision_meta_keysフィルタを使用してリビジョン対象のメタデータキーに対してさまざまな操作を行う方法を示しています。

この関数について質問する


上の計算式の答えを入力してください