wp_get_post_revisions()
Получает все ревизии (редакции, изменения) указанной записи (поста).
Подробнее про ревизии читайте в описании функции wp_revisions_to_keep().
За базовое включение ревизий отвечает константа WP_POST_REVISIONS, которую нужно определить в плагине WP или раньше.
if( ! defined('WP_POST_REVISIONS') ) define( 'WP_POST_REVISIONS', 5 );
Чтобы ревизии поддерживались новыми типами записей, при регистрации им нужно указать поддержку ревизий: параметр 'supports' в register_post_type()
post_type_supports( $post->post_type, 'revisions' );
Если нужно добавить поддержку ревизий после того, как тип записи зарегистрирован, используйте add_post_type_support().
Также изменить количество ревизий можно через хук wp_revisions_to_keep. Однако он не будет работать, если тип записи не поддерживает ревизии...
Хуков нет.
Возвращает
WP_Post[]|int[]
. Массив объектов записей-ревизий или array() если ревизий нет.
Использование
wp_get_post_revisions( $post_id, $args );
- $post_id(число/WP_Post)
- ID записи, ревизии которой нужно получить. Можно передать объект записи.
По умолчанию: global $post - $args(строка/массив)
- Дополнительные параметры. Все параметры которые принимает get_children(). Этот параметр чаще всего, использовать не нужно.
По умолчанию: null
Примеры
#1 Получим последнюю редакцию записи
$post_id = 999; $revisions = wp_get_post_revisions( $post_id ); $last_revision = false; // Получим последнюю версию но не autosave foreach ( $revisions as $revision ) { if ( false !== strpos( $revision->post_name, "{$revision->post_parent}-revision" ) ) { $last_revision = $revision; break; } }
#2 Пример того, что выводит функция
$revisions = wp_get_post_revisions( 128 ); /* ревизии записи 128 Array ( [22] => WP_Post Object ( [ID] => 22 [post_author] => 0 [post_date] => 2017-02-21 01:41:45 [post_date_gmt] => 2017-02-20 22:41:45 [post_content] => Контент ревизии ... [post_title] => Рецепт мороженого [post_excerpt] => [post_status] => inherit [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => 128-revision-v1 [to_ping] => [pinged] => [post_modified] => 2017-02-21 01:41:45 [post_modified_gmt] => 2017-02-20 22:41:45 [post_content_filtered] => [post_parent] => 128 [guid] => http://example.com/recept-morojenogo/128-revision-v1.html [menu_order] => 0 [post_type] => revision [post_mime_type] => [comment_count] => 0 [filter] => raw ) [19] => WP_Post Object ( [ID] => 19 [post_author] => 0 [post_date] => 2017-02-19 15:40:48 [post_date_gmt] => 2017-02-19 12:40:48 [post_content] => Конетнт ревизии ... [post_title] => Рецепт мороженого [post_excerpt] => [post_status] => inherit [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => 128-revision-v1 [to_ping] => [pinged] => [post_modified] => 2017-02-19 15:40:48 [post_modified_gmt] => 2017-02-19 12:40:48 [post_content_filtered] => [post_parent] => 128 [guid] => http://example.com/recept-morojenogo/128-revision-v1.html [menu_order] => 0 [post_type] => revision [post_mime_type] => [comment_count] => 0 [filter] => raw ) [12] => WP_Post Object ( ... ) ) */
Заметки
- Смотрите: get_children()
Список изменений
С версии 2.6.0 | Введена. |