概要
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フィルタを使用してリビジョン対象のメタデータキーに対してさまざまな操作を行う方法を示しています。