Как создать форму поиска WordPress, которая ищет только видео в медиа-библиотеке, используя тег, категорию или заголовок

У меня есть сайт, который я создаю (используя WordPress), который в основном представляет собой простой видеопортал. Он отображает сетку всех видео (post_mime_type = video / mp4) в медиатеке. У меня также есть 6 кнопок, которые фильтруют видео по категории (при нажатии на странице отображаются только видео в этой категории, а остальные скрываются при помощи jquery).

Клиент также хочет иметь возможность поиска видео (используя заголовок, тег и / или категорию) с помощью формы поиска.

Например:

Если пользователь вводит «здоровье» в форму поиска, мне нужно запросить базу данных (в wp_posts) для всех медиа-файлов (post_type = attachment), которые являются видео (post_mime_type = video / mp4), которые содержат поисковый термин (в данном случае , «здоровье») в любом месте заголовка видео, любой из категорий, прикрепленных к видео, или любых тегов, прикрепленных к видео.

Я знаю основы запросов к WPDB с использованием mysql и использования wp_query, и эта категория и тег живут в таксономии где-то за пределами wp_posts, но мой мозг не может обернуть, как собрать все это вместе в работающем SQL-запросе или аргументе wp_query, что работает.

Спасибо!

0

Решение

В этом случае вы можете написать сложный код с помощью удивительного wp_query или установить «Relevanssi — A Better Search — WordPress Plugin» и объединить плагин с вашим wp_query.

Ниже приведен простой пример того, как вы можете комбинировать Relevanssi с wp_query:

     $wp_args = array(
's'                => 'health',
'posts_per_page'   => 10,
);


$wp_query = new WP_Query( $wp_args ); relevanssi_do_query( $wp_query );
if( $wp_query->have_posts() ): while( $wp_query->have_posts() ) : $wp_query->the_post();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]