Как фильтровать ваши сообщения и страницы по настраиваемому полю на панели управления WordPress

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

Метод 1: использование WP_Query
Класс WP_Query в WordPress позволяет получать сообщения на основе значений настраиваемых полей. Вот пример того, как вы можете его использовать:

$args = array(
    'post_type'      => 'post',
    'meta_key'       => 'custom_field_name',
    'meta_value'     => 'custom_field_value',
    'posts_per_page' => -1,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // Display post content here
    }
    wp_reset_postdata();
}

Метод 2. Использование хука действия pre_get_posts
Хук действия pre_get_posts позволяет вам изменить основной запрос до его выполнения. Вы можете использовать этот крючок для фильтрации сообщений на основе настраиваемых полей. Вот пример:

function filter_posts_by_custom_field( $query ) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_archive() ) {
        $query->set( 'meta_key', 'custom_field_name' );
        $query->set( 'meta_value', 'custom_field_value' );
    }
}
add_action( 'pre_get_posts', 'filter_posts_by_custom_field' );

Метод 3: использование плагина расширенных настраиваемых полей
Плагин расширенных настраиваемых полей (ACF) предоставляет интуитивно понятный интерфейс для создания настраиваемых полей и управления ими. Он также предлагает мощные возможности фильтрации на панели управления WordPress. Вот пример того, как можно фильтровать сообщения с помощью ACF:

  1. Установите и активируйте плагин ACF.
  2. Создайте новую группу настраиваемых полей и назначьте ее нужному типу публикации.
  3. Добавьте настраиваемое поле с нужным именем и настройте его параметры.
  4. Отредактируйте свои сообщения или страницы и заполните значение настраиваемого поля.
  5. На панели управления WordPress перейдите в раздел «Сообщения» или «Страницы».
  6. Нажмите кнопку «Фильтр» и выберите созданное вами настраиваемое поле.
  7. Введите желаемое значение, чтобы соответствующим образом отфильтровать сообщения или страницы.