Intereting Posts
Как получить только определенное количество изображений из сообщения (за вычетом выделенного изображения)? Отображение всех форматов видеопотоков на страницу WordPress для завершения поддержки PHP 4? Расширьте walker – навигация, добавив атрибут данных в тег Как защитить тему премиум от копирования? Ajax с OOP не работает Как исправить код в php? Сделать комментарии WordPress с включением шаблона pathpath Почему я получаю уведомления по электронной почте о комментариях, которые WordPress уже определил, являются спамом? динамическое имя стиля для wp_enqueue_style Использование функции call_user_func () внутри add_settings_section () в классе Первая страница, показывающая ACF только один раз, разрешима для отображения ACF за сообщение? Сообщения Batcache больше не отображаются в источнике страницы Сортировка для настраиваемого столбца в таблице сообщений администратора WordPress Страница в качестве родителя для CPT и других страниц

Как выполнить запрос в WordPress, который показывает алфавитные сообщения?

Привет, я сейчас показываю все бренды на своем веб-сайте. Бренд – это настраиваемый тип сообщения.

Теперь я создал список, который показывает только A, B, C, D, E … Z, как вы можете видеть на скриншоте. То, что я действительно хочу, – всякий раз, когда я нажимаю на алфавит А, он должен показывать только бренды, название которых начинается с буквы А, когда я нажимаю на М, он должен показывать только те бренды, название которых начинается с Б и скрывает других.

Как новый для WordPress, это мой первый проект, есть ли какая-то идея, как я могу достичь этого в WordPress?

введите описание изображения здесь

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

Предполагая, что буквы являются ссылками, затем поместите письмо в URL как параметр. Например:

http://example.com/brands/?letter=N 

Затем в коде (внутри любого файла шаблона будет использоваться здесь), вам нужно запросить БД для сообщений / брендов, начиная с «N».

Вы можете создать таксономию для letters ( https://codex.wordpress.org/Function_Reference/register_taxonomy ) и назначить каждому letter (где все слова таксономии – все буквы), а затем использовать одно из следующего:

Существует несколько способов:

1 – WP_Query

2 – get_posts()

.. Несколько других методов.

Вот как вы можете это сделать с WP_Query :

 $args = array( 'post_type' = 'brands', //assuming the post type slug is 'brands' 'posts_per_page' = -1, 'tax_query' => array( array( 'taxonomy' => 'letters', 'field' => 'slug', 'terms' => 'N', // sanitize_text_field($_GET['letter']) ), ), ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); the_title(); } /* Restore original Post Data */ wp_reset_postdata(); } else { echo 'no brands beginning with N; } 

Или вместо того, чтобы создавать таксономию для писем, вы можете сделать это (более настраиваемый запрос, используя $wpdb ):

  global $wpdb; $request = sanitize_text_field($_GET['letter']); $results = $wpdb->get_results( " SELECT * FROM $wpdb->posts WHERE post_title LIKE '$request%' AND post_type = 'brands' AND post_status = 'publish'; " ); if ( $results ) { foreach ( $results as $post ) { setup_postdata ( $post ); the_title(); } } else { echo 'no brands beginning with 'N'; } 

Подробнее о $wpdbhttps://codex.wordpress.org/Class_Reference/wpdb

Подробнее о WP_Queryhttps://codex.wordpress.org/Class_Reference/WP_Query