Vấn đề
Tôi có một trang trên trang web của mình, nơi tôi cần thực hiện tìm kiếm bổ sung trong trang đó. Tôi đang sử dụng cách tìm kiếm mặc định của WordPress với tìm kiếm <?php get_search_form(); ?>
tiêu đề chính của mình, hoạt động rất tốt.
Tôi đã tạo một biểu mẫu HTML khác trên trang của mình, không sử dụng phương thức PHP mặc định, để tìm kiếm bổ sung như vậy:
<form action="<?php bloginfo('siteurl'); ?>" id="searchform" method="get">
<div>
<label for="s" class="screen-reader-text">Search for:</label>
<input type="text" id="s" name="s" value="" />
<input type="hidden" name="post_type" value="photo_group" />
<input type="submit" value="Search" id="searchsubmit" />
</div>
</form>
Tôi sử dụng type=hidden
để nhận loại bài đăng tùy chỉnh mà tôi muốn tìm kiếm thông qua:
<input type="hidden" name="post_type" value="photo_group" />
cung cấp cho tôi một liên kết trông tương tự như:
http://mywebsite.com/?s=search&post_type=photo_group
Câu hỏi
Khi tôi sử dụng mẫu tìm kiếm mới được tạo trên trang, nó sẽ sử dụng search.php mặc định để hiển thị kết quả. Làm cách nào tôi có thể hiển thị kết quả tìm kiếm của tìm kiếm loại bài đăng tùy chỉnh, giả sử trong một trang div
trên cùng một trang?
Tôi đã thử tạo một mẫu trang mới sẽ hiển thị kết quả mà không thành công, đây có thể là cách làm đúng và tôi đã làm sai?
* Chỉnh sửa *
Tôi đang thử giải pháp của sanchothefat. Điều này có đúng không? Đây là toàn bộ div cho kết quả tìm kiếm và truy vấn tìm kiếm của tôi.
<div id="photo-search">
<h2>Search Photos:</h2>
<form action="<?php the_permalink(); ?>" id="searchform" method="get">
<div>
<label for="s" class="screen-reader-text">Search for:</label>
<input type="text" id="search" name="search" value="" />
<input type="hidden" name="post_type" value="photo_group" />
<input type="submit" value="Search" id="searchsubmit" />
</div>
</form>
<?php if( isset( $_REQUEST['search'] ) ) {
query_posts( array(
's' => $_REQUEST['search'],
'post_type' => $_REQUEST['photo_group'],
'paged' => $paged
));
if( have_posts() ) : while ( have_posts() ) :
the_title();
the_content();
endwhile; endif;
wp_reset_query();
}
?>
</div>
Tôi nhận được trang lỗi 404 không tìm thấy khi chạy qua tìm kiếm.