В 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:
- Установите и активируйте плагин ACF.
- Создайте новую группу настраиваемых полей и назначьте ее нужному типу публикации.
- Добавьте настраиваемое поле с нужным именем и настройте его параметры.
- Отредактируйте свои сообщения или страницы и заполните значение настраиваемого поля.
- На панели управления WordPress перейдите в раздел «Сообщения» или «Страницы».
- Нажмите кнопку «Фильтр» и выберите созданное вами настраиваемое поле.
- Введите желаемое значение, чтобы соответствующим образом отфильтровать сообщения или страницы.