概要
wp_post_revision_meta_keys
フィルタは、WordPressのリビジョン対象の投稿メタフィールドキーを取得する際に使用されます。このフィルタを通じて、特定のリビジョンに関連するメタデータキーを追加、削除、あるいは変更することができます。これにより、カスタムメタデータの管理や表示をより柔軟に行うことが可能になります。
このフィルタが実装されることが多いケースには以下のようなものがあります:
- カスタムメタデータをリビジョンに保存する
- 特定のメタデータをリビジョンの保存から除外する
- リビジョンに関連するデータの整合性を確認する
- 自動保存機能のカスタマイズ
- ボリュームの大きいメタデータの最適化
- リビジョンの履歴の管理
- メタデータのフィルタリングやバリデーション
- リビジョンの作成条件の変更
構文
apply_filters( 'wp_post_revision_meta_keys', array $meta_keys, int $post_id );
パラメータ
$meta_keys
:リビジョンで使用されるメタフィールドのキーの配列。$post_id
:リビジョンが関連付けられている投稿のID。
戻り値
- フィルタ後のメタフィールドキーの配列。
関連する関数
使用可能なバージョン
- このフィルタは、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
フィルタを使用してリビジョン対象のメタデータキーに対してさまざまな操作を行う方法を示しています。