delete_post хук-подіяWP 1.2.0

Спрацьовує до того, як пост (запис будь-якого типу) буде видалено з бази даних.

Важливо! На момент спрацювання хука коментарі та метадані записи вже видалені . Використовуйте хук before_delete_post , якщо вам потрібні ці дані при видаленні поста.

Використання

add_action( 'delete_post', 'wp_kama_delete_post_action', 10, 2);

/**
 * Function for `delete_post` action-hook.
 *
 * @param int $postid Post ID.
 * @param WP_Post $post Post об'єкт.
 *
 * @return void
 */
function wp_kama_delete_post_action( $postid, $post ){

	// action...
}
$postid
(число)
ID запису, що видаляється.
$post
(WP_Post)
Об’єкт запису
WP_Post .

Приклади

0

#1 Синхронізація (видалення) додаткових даних посту

Припустимо, у нас є плагін, який зберігає якісь дані запису (поста) в окремій таблиці бази даних під назвою codex_postmeta . Нам потрібно видаляти ці дані під час видалення запису.

add_action( 'admin_init', 'wpdocs_codex_init');

function wpdocs_codex_init() {
	add_action( 'delete_post', 'wpdocs_codex_sync', 10);
}

function wpdocs_codex_sync( $pid ) {
	Global $wpdb;

	$sql = $wpdb->prepare( 'DELETE FROM codex_postmeta WHERE post_id = %d', $pid );

	$wpdb->query($sql);
}

список змін

З версії 1.2.0Введено.
З версії 5.5.0Added $post parameter.

Де викликається хук

Де використовується хук у WordPress

wp-includes/blocks/calendar.php 151

add_action( 'delete_post', 'block_core_calendar_update_has_published_post_on_delete' );

wp-includes/default-filters.php 434

add_action( 'delete_post', '_wp_delete_post_menu_item');

wp-includes/default-filters.php 437

add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );

wp-includes/default-filters.php 528

add_action( 'delete_post', 'delete_get_calendar_cache');

wp-includes/ms-default-filters.php 80

add_action( 'delete_post', '_update_blog_date_on_post_delete' );

wp-includes/nav-menu.php 1153

add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *