Kozack
@Kozack
Thinking about a11y

Как прервать создание/обновление записи в Wordpress?

К записям я добавил произвольное текстовое поле. Какие хуки/фильтры нужно использовать чтобы проветить это поле, и если оно пустое - отменить создание/обновление записи: выдать ошибку, или ещё что — главное чтоб новая запись не появилась или не обновилась
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
@MrTimon
Я использовал фильтр wp_insert_post_empty_content если результат вернет true пост не создается.

add_filter( 'wp_insert_post_empty_content', 'check_list_post', 99, 2 );
function check_list_post($maybe_empty, $postarr)
	{
		global $post_type;
		if ( $post_type != 'MY_POST_TYPE' ) return $maybe_empty;

		if ( true === wp_is_post_revision( $postarr[ 'ID' ] ) || $postarr['post_status'] == 'auto-draft' ) {
			return $maybe_empty;
		}	

		if (  isset($_REQUEST['action']) && $_REQUEST['action'] == 'trash' ) {
			return $maybe_empty;
		}

		
		if ($something_wrong) {
//		getFlashMessage()->setMessage('Error: Insert error','error'); // add error to notice
                    return true;
                }

		return $maybe_empty;
	}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы