WordPress публикует пост после wp_die - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь проверить, равен ли tax_input из моего $ _POST строке.Если это то же самое, опубликуйте сообщение, иначе я хочу отправить сообщение с wp_die и не публиковать сообщение.

Я вижу сообщение wp_die, но когда я возвращаюсь к обзору своих сообщений,сообщение все еще опубликовано.

Кто-то, кто имеет представление о том, что я делаю неправильно?

function check_user_post() {

    $terms = get_terms( array(
        'taxonomy' => 'activity_region',
        'hide_empty' => false,
    ) );

    $region_id = array();
    foreach ( $terms as $term ) {

        if( $term->slug == 'antwerpen' ) {
            $region_id[] = $term->term_id;
        }
    }

    $term = get_term_by( 'id', $_POST['tax_input']['activity_region'][1], 'activity_region' );

    if( empty( $term ) ) {

        wp_set_object_terms( $_POST['post_ID'], $region_id, 'activity_region', true );
        return;

    }

    if( $term->slug != 'antwerpen' ) {

        //var_dump( $_POST );
        wp_die( '<p>You can not make activities for this region.</p>', 'Error', array( 'back_link' => true ) );

        return;

    }

}

add_action( 'save_post', 'check_user_post' );

1 Ответ

0 голосов
/ 12 октября 2018

Действие save_post запускается сразу после сохранения записи.Таким образом, сообщение уже было сохранено, и ваша функция выполняется после этого.Смотрите также: https://codex.wordpress.org/Plugin_API/Action_Reference/save_post

...