在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地址是多少?

如何在数据库和django admin中存储IP地址

在wordpress中通过ip地址区分不同国家的用户并重定向他们到不同的...

如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]

如何为 IP 地址定位器创建代码,该代码从数据库中的表中获取 IP 地址

wordpress搭建后地址栏页面显示IP地址的问题