在WordPress数据库中存储用户的IP地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WordPress数据库中存储用户的IP地址相关的知识,希望对你有一定的参考价值。
function get_ip(){
global $wpdb;
$ipaddress = $_SERVER['REMOTE_ADDR'];
$data = array('post_title'=>'Sample Title','ip_address'=>$ipaddress);
$wpdb->insert('wp_ip_address',$data);
}
add_action('init','get_ip');
在此代码工作正常但用户访问我们的网站上的多个页面IP地址存储在多个时间的数据库
预期产出
用户访问网站单次存储数据库中的IP地址
答案
首先在mysql中创建表:
CREATE TABLE `wp_user_ip` (
`id` mediumint(48) NOT NULL,
`post_id` bigint(40) NOT NULL,
`post_title` text NOT NULL,
`user_ip` text NOT NULL,
`date` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `wp_user_ip`
ADD PRIMARY KEY (`id`);
ALTER TABLE `wp_user_ip`
MODIFY `id` mediumint(48) NOT NULL AUTO_INCREMENT;
第二,在functions.php活动主题中添加此代码:
add_action('wp', function(){
global $wpdb, $post;
if( is_single() || is_page() ) {
$wpdb->insert(
'wp_user_ip',
array(
'post_id' => $post->ID,
'post_title' => get_the_title($post->ID) ,
'user_ip' => $_SERVER['REMOTE_ADDR'],
'date' => current_time('mysql') ,
)
);
}
});
以上是关于在WordPress数据库中存储用户的IP地址的主要内容,如果未能解决你的问题,请参考以下文章
在wordpress中通过ip地址区分不同国家的用户并重定向他们到不同的...
如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]