wordpress搜索功能限制搜索范围和搜索次数

在之前的建站教程中,我们讲到了如何制作Wordpress 网站搜索功能。在实际做网站时,为了隐藏自己网站里的内容,需要对 wordpress搜索功能限制分类,通过限制分类,用户只能搜索某些分类下的内容。

 wordpress搜索功能

限制只能搜索指定分类下的文章

在当前主题文件中的搜索模板search.php文件,找到下面的主循环开始标签:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

在这个标签上面加入以下wordpress搜索功能限制分类代码。

<?php if( is_search() ) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("s=$s&paged=$paged&cat=1,2,3");
endif; ?>

代码cat=1,2,3中的1,2,3分别表示ID为1的分类,ID为2的分类,ID为3的分类,可根据自己的需要进行修改。

限制用户搜索频率次数

WordPress 搜索功能的原理就是根据用户请求实时读取存储在数据库中的数据生成的页面。这样就存在一个问题,一些服务器配置低的网站很容易被恶意攻击,导致服务器CPU使用率和负载状态100%爆满。

解决方法就是安装Search Limiter & Blocker插件即可。它就能限制 WordPress 网站用户搜索次数或者说是限制WordPress搜索频率。可以通过为访问者设置搜索时间限制和一定时间内的搜索次数。插件会自动检测访问者的IP地址,并对这些IP地址的每个搜索行为进行计数。

安装好插件之后,设置非常简单,如下图所示,有三个输入框,分别设置限制访问者的搜索次数、搜索时间间隔以及禁止搜索后的提示。

wordpress搜索功能限制搜索范围和搜索次数