У меня простой search form
на мой боковая панель блога который будет искать только blogs
,
<form action="<?php echo get_site_url() ?>" method="GET">
<input type="search" name="s" placeholder="Click to Search" class="fld-search" required/>
<input type="hidden" name="post_type" value="post">
<button class="btn-search"><i class="fa fa-search" aria-hidden="true"></i></button>
</form>
Это URL сайта: http://dev.wonder.lk/blog/
Ниже приведены типы поиска, которые я применил,
hello
(но вы можете увидеть Hello World
блог есть в архиве)post_type
значения — Результатом является пустая белая страница, даже если я не вижу верхнего или нижнего колонтитула. Пример: Поиск ninja
Это тип продуктаЭто коды,
search.php
<?php
while ( have_posts() ) : the_post();
if(isset($_GET['post_type'])) {
$type = $_GET['post_type'];
if($type == 'product') {
get_template_part( 'woocommerce/archive', 'product' ); //working fine
} else {
get_template_part( 'framework/template-parts/page/search', 'post' );
}
} else {
get_template_part( 'framework/template-parts/page/search', 'post' );
}
endwhile;
?>
поиск-post.php
<?php
get_header();
//Page Title Bar
$pageTitle = 'Search results for: "'.get_search_query().'"';
echo page_title_bar( $pageTitle, get_template_directory_uri().'/framework/assets/images/pg-title-bar.jpg');
?>
<div class="container blog-wrapper page-container">
<div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
// Include Blog Posts List
get_template_part('framework/template-parts/post/blog', 'post-list');
?>
<?php endwhile; ?>
<div class="pagination-wrapper">
<?php pagination(); ?>
</div>
<?php else: ?>
<h3>No results found for: '<?php echo get_search_query(); ?>'</h3>
<?php endif; ?>
</div>
<div class="col-lg-3 col-md-3 col-sm-12 col-xs-12">
<?php
// Include Blog Sidebar
get_template_part('framework/template-parts/post/blog', 'sidebar');
?>
</div>
</div>
</div>
<?php get_footer(); ?>
blog-sidebar
а также blog-post-list
являются структурой HTML.
Спросите меня, если вы хотите больше деталей.
После обновления search.php
как следует,
<?php
get_header();
//Page Title Bar
$pageTitle = 'Search results for: "'.get_search_query().'"';
echo page_title_bar( $pageTitle, get_template_directory_uri().'/framework/assets/images/pg-title-bar.jpg');
?>
<div class="container blog-wrapper page-container">
<div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
// Include Blog Posts List
get_template_part('framework/template-parts/post/blog', 'post-list');
?>
<?php endwhile; ?>
<div class="pagination-wrapper">
<?php pagination(); ?>
</div>
<?php else: ?>
<h3>No results found for: '<?php echo get_search_query(); ?>'</h3>
<?php endif; ?>
</div>
<div class="col-lg-3 col-md-3 col-sm-12 col-xs-12">
<?php
// Include Blog Sidebar
get_template_part('framework/template-parts/post/blog', 'sidebar');
?>
</div>
</div>
</div>
<?php get_footer(); ?>
Если я получу разумный и хорошо описанный ответ, я могу предложить вознаграждение за этот ответ.
WordPress имеет встроенную функцию, чтобы дать вам форму поиска
<?php
get_search_form();
?>
https://developer.wordpress.org/reference/functions/get_search_form/