wordpress企业网站限制只搜索某个分类下的文章

对于有些WordPress主题自带搜索功能,每次搜索都会显示全站的文章,很不完美也很不方便,这就导致搜索效率下降,所以我们自己建网站时,一定要做好搜索优化。在之前的建站教程中,我们也讲到了如何制作wordpress搜索功能。那么今天就来讲解一下wordpress企业网站限制只搜索某个分类下的文章?

wordpress企业网站限制只搜索某个分类下的文章
wordpress企业网站限制只搜索某个分类下的文章

通常的搜索功能是搜索整个网站的所有文章,但在实际建站过程中,往往需要限制wordpress 只搜索某个分类下的文章,这该怎么做呢?

方法如下:

普通的搜索功能代码:

<form action="<?php bloginfo('home'); ?>" method="get">
         <input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="Search" />
</form>

只需要在上面的代码里加上一个隐藏域,给出某个分类的ID即可。修改后的搜索代码:

<form action="<?php bloginfo('home'); ?>" method="get">
        <input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
        <input type="hidden" name="cat" value="1" />
        <input type="submit" id="searchsubmit" value="Search" />
</form>

代码中value="1",可以改成自己限定的分类ID。

高级用法
可以通过限制分类的搜索,来制作让用户选择分类的搜索内容。

<select name="cat" class="search-option">
<option value="11" selected="selected">搜产品</option>
<option value="22">搜资讯</option>
</select>

补充
有的同学反映通过加cat参数,不能限定指定分类的文章搜索,如果出现这种情况,就可以在搜索模板search.php里添加限制内容,用以下的代码。

<?php if (have_posts()) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("s=$s&paged=$paged&cat=2,3,-20");?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>" rel="external nofollow" ><?php the_title(); ?></a></li>
<?php endwhile;?>
<?php endif; wp_reset_query(); ?>

古风网版权互动须知

请遵循相关法律法规,如有侵权、后门、不妥请联系本站删除!

原文地址:https://www.wzxiu.com/15493.html wordpress企业网站限制只搜索某个分类下的文章

发表评论