Удаление транзитной опции при удалении поста
Пытаюсь реализовать удаление транзитной опции, при удалении поста в произвольном типе с помощью экшена. Но почему-то не работает..
add_action('before_delete_post', 'delete_vote_transient'); function delete_vote_transient($post_id){ if ( $_GET['post_type'] == 'vote' ) { delete_transient( 'get_votes_' . get_post_meta($post_id, 'nomination_id', true) . '_' . get_post_meta($post_id, 'participant_id', true) ); } return true; }
пробовал другие хуки "pre_delete_post" и "delete_post"
Ну судя по всему у вас не проходит проверка
if ( $_GET['post_type'] == 'vote' ) {
Сделайте ее как во втором случае
if ( get_post_type( $post_id ) == 'vote' ) {
неа, при удалении в корзину просто начала появляться ошибка, что такой переменной нет, поэтому я и поменял на функцию.
Тут же смог решить задачу по-другому:
Но всё равно интересно в чём проблема