Intereting Posts
Как отобразить все меню навигации как выпадающее меню в виджетах? Получить размеры логотипа Область пользователей с проверкой подлинности htaccess / htpasswd извне? $ wpdb-> get_var next var? Мне нужно создать форму поиска, которая будет отображать результаты поиска из определенной категории wp_set_object_terms не принимает переменную массив WordPress вставить запрос, но запрос обновления не запускается Записывать все (оригинальные) изображения из медиа-галереи Пользовательский запрос_var вызывает отображение архива сообщений на главной странице Есть ли хороший способ использовать SVN для каталога загрузок? Обновление ссылок на изображения в базе данных Только категории списков, содержащие записи определенного пользовательского типа сообщений Child Header.php не отображается на других страницах Добавление содержимого в архивные и таксономические страницы для пользовательских типов сообщений? Создание больших страниц с несколькими разделами с расширенными настраиваемыми полями

страница результатов пользовательского поиска

что я сделал,

я создаю search.php

<?php get_header(); ?> <div class="wapper"> <div class="contentarea clearfix"> <div class="content"> <h1 class="search-title"> <?php echo $wp_query->found_posts; ?> <?php _e( 'Search Results Found For', 'locale' ); ?>: "<?php the_search_query(); ?>" </h1> <ul> <?php query_posts('showposts=3'); if (have_posts()) : ?> <li> <h3><a href="<?php echo get_permalink(); ?>"> <?php the_title(); ?> </a></h3> <?php the_post_thumbnail('medium') ?> <?php echo substr(get_the_excerpt(), 0,200); ?> <div class="h-readmore"> <a href="<?php the_permalink(); ?>">Read More</a></div> </li> <?php endif ?> </ul> </div> </div> </div> <?php get_footer(); ?> 

затем создайте searchform.php

 <form action="<?php bloginfo('siteurl'); ?>" id="searchform" method="get"> <input type="search" id="searchbox" name="s" placeholder="Enter keywords" required> <input type="image" id="searchsubmit" alt="Search" class="searchicon" src="<?php bloginfo( 'template_url' ); ?>/images/icon-search.gif" /> </form> 

но моя страница результатов не показывает содержание, а также показывает только один результат. но по заголовку H1 он показывает 2/3/5/6/7 и т. д. Результат поиска найден. я хочу показать не менее 10 результатов, а затем страницу, а также показать текст содержания 200/300 символов для результата поиска. ребята могут мне помочь. я еще не эксперт wp

Solutions Collecting From Web of "страница результатов пользовательского поиска"

У меня есть несколько рекомендаций по вашему вопросу:

Сначала остановите использование query_posts() . См. Код об этой функции, чтобы узнать, почему вы не должны использовать его в темах или плагинах. В любом случае, если вы находитесь в какой-то странной ситуации, когда у вас нет опции, и вам нужно использовать query_posts() , вы должны запустить wp_reset_query() после цикла. Вы должны знать, что используете global $wp_query , который содержит исходный запрос, сделанный WordPress, а затем query_post который изменяет global $wp_query переменную global $wp_query , в результате вы получите неожиданные результаты. Кроме того, вы используете устаревшие параметры showposts , замененные posts_per_page .

Во-вторых : вы можете использовать шаблон пользовательского поиска (search.php), чтобы настроить внешний вид. Просто зарегистрируйте файл search.php в папке темы и настройте его по своему усмотрению. Не создавайте пользовательские запросы здесь ; если вы это сделаете, вы делаете новый запрос для сообщений и тратите впустую запрос, уже сделанный WordPress. Отходы ресурсов с отрицательным воздействием.

В-третьих : чтобы изменить параметры запроса по умолчанию, используемые WordPress, например количество сообщений на странице и т. Д., Вы можете использовать действие pre_get_posts .

Итак, создайте свой шаблон search.php по своему усмотрению и используйте действие pre_get_posts чтобы сказать WordPress, какие параметры вы хотите использовать в поисковом запросе:

Шаблон search.php может быть примерно таким:

 <?php get_header(); global $wp_query; ?> <div class="wapper"> <div class="contentarea clearfix"> <div class="content"> <h1 class="search-title"> <?php echo $wp_query->found_posts; ?> <?php _e( 'Search Results Found For', 'locale' ); ?>: "<?php the_search_query(); ?>" </h1> <?php if ( have_posts() ) { ?> <ul> <?php while ( have_posts() ) { the_post(); ?> <li> <h3><a href="<?php echo get_permalink(); ?>"> <?php the_title(); ?> </a></h3> <?php the_post_thumbnail('medium') ?> <?php echo substr(get_the_excerpt(), 0,200); ?> <div class="h-readmore"> <a href="<?php the_permalink(); ?>">Read More</a></div> </li> <?php } ?> </ul> <?php echo paginate_links(); ?> <?php } ?> </div> </div> </div> <?php get_footer(); ?> 

И действие pre_get_posts примерно так:

 add_action( 'pre_get_posts', function( $query ) { // Check that it is the query we want to change: front-end search query if( $query->is_main_query() && ! is_admin() && $query->is_search() ) { // Change the query parameters $query->set( 'posts_per_page', 3 ); } } ); 

Вы должны запустить цикл, изменить свой search.php что-то похожее на код ниже

  <?php get_header();?> <div class="wapper"> <div class="contentarea clearfix"> <div class="content"> <ul> <?php if ( have_posts() ) : ?> <header class="page-header"> <p><?php printf( __( 'Search Results for: %s', 'twentyfourteen' ), get_search_query() ); ?></p> </header><!-- .page-header --> <?php // Start the Loop. while ( have_posts() ) : the_post(); ?> <li><h3><a href="<?php get_the_permalink() ?>"><?php the_title(); ?></a></h3></li> <?php the_post_thumbnail('medium') ?> <?php echo substr(get_the_excerpt(), 0, 200); ?> <div class="h-readmore"> <a href="<?php the_permalink(); ?>">Read More</a> </div> <?php endwhile; else : // If no content, include the "No posts found" template. get_template_part( 'content', 'none' ); ?> </ul> </div> </div> </div> <?php get_footer(); ?>