Wordpress: пользовательский тип сообщения удалить сообщение навсегда - PullRequest
3 голосов
/ 27 февраля 2020

Поэтому я хочу, чтобы мои сообщения в моем пользовательском типе сообщений были удалены навсегда, вместо того, чтобы сначала перейти к tra sh. поэтому я нашел этот код в Интернете, который должен был сделать свое дело. Но я не могу заставить его работать как-то.

Код, который у меня есть, выглядит следующим образом.

function directory_skip_trash($post_id) {
    if (get_post_type($post_id) == 'directory') {
        // Force delete
        wp_delete_post( $post_id, true );
    }
}
add_action('wp_trash_post', 'directory_skip_trash');

Остальная часть кода моего пользовательского типа записи Сам вы можете найти в этом посте , который я написал ранее.

Возможно, я упускаю что-то довольно простое.

ОБНОВЛЕНИЕ

так что теперь дело дошло до работы. Это действительно удаляет сообщение, но я получаю эту ошибку. enter image description here после ошибки, если я вернусь на страницу поста, сообщение исчезнет, ​​и не будет в корзине никого, кто мог бы решить, просто удалить и не дать это сообщение?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2020

Используя правильный members тип сообщения:

Вам необходимо использовать trashed_post крючок. wp_trash_post происходит ДО того, как сообщение будет уничтожено, поэтому вы получаете сообщение об ошибке, потому что сообщение больше не существует.

function members_skip_trash($post_id) {
    if (get_post_type($post_id) == 'members') { // <-- members type posts
        // Force delete
        wp_delete_post( $post_id, true );
    }
}
add_action('trashed_post', 'members_skip_trash');
1 голос
/ 27 февраля 2020

В вашем другом сообщении сказано, что ваш тип сообщения называется 'members'. Вместо этого вы проверяете сообщения типа «каталог». Измените условие if следующим образом, чтобы оно действовало на правильный тип записи:

function members_skip_trash($post_id) {
    if (get_post_type($post_id) == 'members') { // <-- members type posts
        // Force delete
        remove_all_actions('wp_trash_post');
        wp_delete_post( $post_id, true );
    }
}
add_action('trashed_post', 'members_skip_trash', 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...