要在WordPress中显示评论者的地理位置,您可以使用以下非插件方法:
使用第三方API获取地理位置信息:
注册并获取一个免费或付费的IP地址到地理位置API密钥,如ipinfo.io。
编写一个自定义的WordPress主题功能或插入到主题的functions.php文件中,以获取评论者的IP地址。
使用API密钥查询评论者的IP地址,以获取其地理位置信息。
将地理位置信息显示在评论者的评论中,可以在评论循环中完成。
示例代码:
// 获取评论者IP地址
$comment_ip = get_comment_author_IP();
// 查询IP地址的地理位置信息
$location_data = json_decode(file_get_contents("https://ipinfo.io/{$comment_ip}/json"));
// 显示地理位置信息
if (!empty($location_data>city) && !empty($location_data>region)) {
echo "评论者来自:" . $location_data>city . ", " . $location_data>region;
}
自定义评论字段:
在WordPress评论中添加一个自定义字段来存储地理位置信息。
在评论提交时,使用JavaScript或WordPress的评论提交钩子将评论者的地理位置信息存储在该自定义字段中。
修改主题文件(如comments.php)以显示评论者的地理位置信息。
示例代码:
// 添加自定义字段到评论表
function add_location_field() {
echo '';
}
add_action('comment_form', 'add_location_field');
// 使用JavaScript获取地理位置信息并填充自定义字段
// 这部分需要自己编写JavaScript代码。
// 在评论显示时显示地理位置信息
function display_comment_location($comment_text) {
$location = get_comment_meta(get_comment_ID(), 'comment_location', true);
if ($location) {
$comment_text .= '
评论者来自:' . $location;
}
return $comment_text;
}
add_filter('comment_text', 'display_comment_location');
请注意,这两种方法都需要一些编程技能,并且需要处理API请求或JavaScript来获取地理位置信息。第一种方法依赖于第三方API,而第二种方法则需要您自行编写JavaScript代码来获取地理位置信息。