wp_publish_post()
Публікує запис. Змінює її статус з future , draft і т.д. на publish . Запускає всі хуки, необхідні для зміни статусу запису.
Докладніше читайте в описі функції: wp_transition_post_status()
Якщо вам потрібно змінити статус запису, наприклад з draft
на publish
, то краще запустити функцію wp_update_post() :
wp_update_post([ 'ID' => $post_id, 'post_status' => 'publish', ]);
Ця функція не робить всіх необхідних операцій для правильної зміни статусу, зокрема не виставляються дати посту і можливо ще щось.
Працює на основі:
wp_transition_post_status()
wp_transition_post_status()
Хуки з функції
Повертає
null
. Нічого (null)
Використання
wp_publish_post($post_id);
-
$post_id
(число/WP_Post) (обов’язковий) - Об’єкт або ID запису.
Приклади
#1 Публікація посту із затримкою
Допустимо нам потрібно опублікувати пост лише якщо пройдено якусь перевірку. Для цього ми додаємо пост до БД зі статусом pending
. Потім робимо нашу перевірку і якщо її пройдено публікуємо пост, а якщо не пройдено, то нічого не робимо.
function add_coin_post(){ // Додаємо пост до БД $post_data = [ 'post_type' => 'coin', 'post_title' => $args['name'], 'post_name' => sanitize_title( $symbol ), 'post_status' => 'pending', //! IMPORTANT ]; $post_id = wp_insert_post( wp_slash( $post_data ), true, false ); if( is_wp_error( $post_id ) ){ return $post_id; } // РОБИМО ПОТРІБНУ НАМ ПЕРЕВІРКУ // де буде визначено змінну $check_is_ok, якщо все ок if( $check_is_ok ){ // запускаємо хуки публікації на яких будуть зроблені // Операції для нового опублікованого посту wp_publish_post($post_id); } }
нотатки
- Global. wpdb. $wpdb WordPress database abstraction object.
список змін
З версії 2.1.0 | Введено. |