У меня есть сайт, который я создаю (используя 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, что работает.
Спасибо!
В этом случае вы можете написать сложный код с помощью удивительного 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();
Других решений пока нет …