ワードプレスのwp_get_post_revisions関数の使用方法・解説

概要

wp_get_post_revisions 関数は、指定された投稿のリビジョン情報を取得するために使用されます。この関数は、過去のバージョンを参照したり、比較したりする際に便利です。具体的には、以下のような機能を実装する際に使用されることが多いです。

  1. 投稿の履歴を表示する
  2. 過去のリビジョン間での差分チェック
  3. 管理画面でリビジョンの一覧表示
  4. 特定のリビジョンに基づく投稿の復元
  5. リビジョンごとのメタデータ表示
  6. 投稿編集時の自動保存履歴の解析
  7. プラグインによるリビジョン管理機能の拡張
  8. テーマ開発時の投稿履歴機能の実装

構文

wp_get_post_revisions( int $post_id, array $args = array() );

パラメータ

  • post_id (int): リビジョンを取得したい投稿のID。
  • args (array, optional): リビジョンの取得に関するオプション引数。

戻り値

  • 取得したリビジョンの配列または空の配列。

関連する関数

使用可能なバージョン

この関数は WordPress 3.6.0 以降で利用可能です。

コアファイルのパス

wp-includes/post.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: 一般的なリビジョンの取得

このコードは、投稿IDからすべてのリビジョンを取得し、タイトルを表示します。

$post_id = 123; // 取得したい投稿のID
$revisions = wp_get_post_revisions($post_id);

foreach ($revisions as $revision) {
    echo '<h2>' . get_the_title($revision->ID) . '</h2>';
}

サンプルコード2: リビジョン数の制限付き取得

このコードは、投稿のリビジョンを取得し、最新の5件のリビジョンを表示します。

$post_id = 123; // 取得したい投稿のID
$args = array('numberposts' => 5);
$revisions = wp_get_post_revisions($post_id, $args);

foreach ($revisions as $revision) {
    echo '<h2>' . get_the_title($revision->ID) . '</h2>';
}

サンプルコード3: 特定のリビジョンの取得

このコードは、特定のリビジョンIDを使用して、そのリビジョンの内容を表示します。

$revision_id = 456; // 取得したいリビジョンのID
$revision = wp_get_post_revision($revision_id);

if ($revision) {
    echo '<h2>' . get_the_title($revision->ID) . '</h2>';
    echo '<div>' . apply_filters('the_content', $revision->post_content) . '</div>';
}

サンプルコード4: リビジョンのメタデータ表示

このコードは、リビジョンのメタデータを取得して表示します。

$post_id = 123; // 取得したい投稿のID
$revisions = wp_get_post_revisions($post_id);

foreach ($revisions as $revision) {
    echo '<h2>' . get_the_title($revision->ID) . '</h2>';
    echo '<p>' . get_post_meta($revision->ID, '_edit_last', true) . '</p>'; // 最終編集者
}

サンプルコード5: リビジョンの復元

このコードは、リビジョンを復元するための簡単な実装例です。

$revision_id = 456; // 復元したいリビジョンのID
$revision = wp_get_post_revision($revision_id);

if ($revision) {
    // 投稿を復元する
    wp_update_post(array(
        'ID' => $revision->ID,
        'post_content' => $revision->post_content,
    ));
}

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


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