delete_post
Спрацьовує до того, як пост (запис будь-якого типу) буде видалено з бази даних.
Важливо! На момент спрацювання хука коментарі та метадані записи вже видалені . Використовуйте хук 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 .
Приклади
#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.0 | Added $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' );