首页 论坛 限制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(); ?>" ><?php the_title(); ?></a></li>
<?php endwhile;?>
<?php endif; wp_reset_query(); ?>

版权:言论仅代表个人观点,不代表官方立场。转载请注明出处:https://www.52diyhome.com/forum/65888.html

发表评论
暂无评论
  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    资源总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

资源在于分享,创作来源想象