Как показать или скрыть сообщение на основе выбора meta_value?

Как мне скрыть сообщение, основанное на выборе meta_value, выполненном на задней панели.

Обычный метод заключается в том, чтобы просто изменить статус публикации из «Опубликовать в проект», однако я хочу, чтобы это работало на основе выбора.

meta_key – current_status и раскрывающийся список с meta_value active и leased .

Если выбран active , сообщение отображается, а leased скрывает сообщение.

Любые идеи о том, как это сделать чистым способом?

Solutions Collecting From Web of "Как показать или скрыть сообщение на основе выбора meta_value?"

Используйте действие pre_get_posts чтобы изменить основной запрос с meta_query аргументов meta_query чтобы выбрать только сообщения с active current_status .

Этот пример будет работать для вашей главной страницы сообщений. См. « Условные теги», как определить, когда запускаются другие типы запросов.

 function wpa_current_status( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $meta_query = array( array( 'key' => 'current_status', 'value' => 'active', 'compare' => '=' ) ); $query->set( 'meta_query', $meta_query ); } } add_action( 'pre_get_posts', 'wpa_current_status' ); 

EDIT- или в пользовательском запросе напрямую meta_query аргументы meta_query :

 $args = array( 'post_type' => 'property', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'current_status', 'value' => 'active', 'compare' => '=' ) ) ); $properties = new WP_Query( $args ); 

Внутри цикла извлеките значение.

Как только вы это сделаете, выполните простой тест, чтобы узнать, есть ли он в аренде. Если это так, вы просто continue помощью PHP.