delete_post хук-событие . WP 1.2.0
Срабатывает прямо до того как запись будет удалена из базы данных.
Важно! К моменту срабатывания хука комментарии и метаданные записи уже удалены. Используйте хук before_delete_post, чтобы сделать что либо до этого.
Использование
add_action( 'delete_post', 'action_function_name_7835', 10, 2 ); function action_function_name_7835( $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 the $post parameter. |
Где вызывается хук
wp-includes/post.php 3090
do_action( 'delete_post', $postid, $post );
wp-includes/post.php 5963
do_action( 'delete_post', $post_id, $post );
Где используется хук в ядре WordPress
wp-includes/post.php 390
add_action( 'delete_post', '_wp_delete_post_menu_item' );
wp-includes/post.php 393
add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );
wp-includes/post.php 487
add_action( 'delete_post', 'delete_get_calendar_cache' );
wp-includes/post.php 79
add_action( 'delete_post', '_update_posts_count_on_delete' );
wp-includes/post.php 80
add_action( 'delete_post', '_update_blog_date_on_post_delete' );
wp-includes/post.php 1137
remove_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );
wp-includes/post.php 1149
add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' );