WordPress как на ладони
wordpress jino

Удаление транзитной опции при удалении поста

Пытаюсь реализовать удаление транзитной опции, при удалении поста в произвольном типе с помощью экшена. Но почему-то не работает..

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"

Jackky 8 месяцев назад

Тут же смог решить задачу по-другому:

add_action('wp_trash_post', 'delete_vote_transient');
function delete_vote_transient($post_id){
  if ( get_post_type( $post_id ) == 'vote' ) {

	delete_transient( 'get_votes_' . get_post_meta($post_id, 'nomination_id', true) . '_' . get_post_meta($post_id, 'participant_id', true) );

  }
return true;
}

Но всё равно интересно в чём проблема

Molotow 8 месяцев назад

Ну судя по всему у вас не проходит проверка

if ( $_GET['post_type'] == 'vote' ) {

Сделайте ее как во втором случае

 if ( get_post_type( $post_id ) == 'vote' ) {
Jackky 8 месяцев назад

неа, при удалении в корзину просто начала появляться ошибка, что такой переменной нет, поэтому я и поменял на функцию.

0
Jackky54 8 месяцев назад

Нет ответов на этот вопрос.

На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.