wordpress的桌面应用端
wordpress提供了桌面应用,支持Windows、Mac以及Linux操作系统。这些应用程序允许用户管理他们的网站、撰写和发布内容,以及执行其他wordpr...
上图是实现限制IP表单每日多次提交的效果,这里我们不需要wordpress插件,手动编写代码来实现,首先需要获取当前访问用户的ip地址,代码如下:
function get_ip(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){$ip = $_SERVER['HTTP_CLIENT_IP'];} elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];} else{$ip = $_SERVER['REMOTE_ADDR'];} return $ip; }
那么使用$ip = get_ip();就能将用户ip赋予一个变量,然后再创建一个变量表示用户ip提交次数上限。
$ip_number_no = 2;//限制ip访问次数
接下来需要使用wordpress的$wpdb对象,他是wordpress的数据库对象,通过它来对用户提交的表单进行查询
使用$wpdb->get_var(“sql语句”),如果有结果,可以返回查询结果数,无结果则返回FALSE。更多的$wpdb用法和具体函数会在以后的文章中说明
$get_post_ip_num_check = $wpdb->get_var(" SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'customer' AND post_excerpt = '".$ip."' AND date_format(post_date,'%Y-%m-%d') = curdate() " ); if($get_post_ip_num_check >= $ip_number_no){ $ip_check_status = false; //达到次数限制,不允许再次提交}
在上面sql语句中,查询出wp_posts这个表中,文章类型为自定义类型customer、表单提交人ip(这里使用文章的摘要字段作为ip)、表单提交时间为当前时间的总数量。
post_date的日期格式为:年-月-日小时:分钟:秒。curdate()表示当前日期:年-月-日,所以需要对字段post_date进行格式转化。
这条查询语句表示当前用户在当天内提交成功的总次数,只要对其进行限制,给提交动作增加一个判断即可达到需求目的。
你可能喜欢
wordpress提供了桌面应用,支持Windows、Mac以及Linux操作系统。这些应用程序允许用户管理他们的网站、撰写和发布内容,以及执行其他wordpr...
最近,我们被问及LiteSpeed Cache与WP Rocket哪个更好。 现在,如果您不知道,LiteSpeed Cache和WP Rocket是两个最受欢...
默认情况下,wordpress会在您网站顶部向所有登录用户(如订阅者、作者、编辑者和任何其他用户角色)显示一个管理栏。 此管理栏可以将他们引导至wordpres...