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地址存储在数据库中
答案 0 :(得分:-1)
首先在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') ,
)
);
}
});