这实际上很容易做到:您需要安装一个geolacation插件,该插件提供methods/functions to identify visitor country. N、 B.只提供短代码的插件将不起作用。
唯一复杂的因素是国家可以用多种方式命名,因此必须使用两个字符的ISO国家代码来可靠地识别游客。
您可以通过添加ISO代码SUFFIX来重命名所有类别,例如“Canada(CA)”;但与访客的联系将很复杂,涉及更多的代码。因此,下面的示例假设您将在每个帖子中添加第二个类别或带有相关大写ISO代码的标记,例如“CA”。
(经过测试,适合我)
为您的每个帖子添加第二个类别(或标签),按照2 char ISO country code (确保大写)。
安装并激活Category Country Aware plugin (作为作者,我对它很熟悉,因此我在下面的代码中使用了它)。
使用编辑器创建此插件文件(如果使用标记,请删除2个类别行,并按照注释中的说明取消标记行的注释)
<?php
/*
Plugin Name: Category for Visitor
Description: only show posts for visitor\'s country on home page
*/
function my_visitors_category( $query ) {
if (! class_exists(\'CCAgeoip\')) return;
$cat_id = get_cat_ID( CCAgeoip::get_visitor_country_code() ); // remove this line if using tag instead of 2nd cat
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'cat\', $cat_id); // remove this line if using tags
// $query->set( \'tag\', CCAgeoip::get_visitor_country_code() ); // uncomment this line if using tags for country ISO
}
}
add_action( \'pre_get_posts\', \'my_visitors_category\' );
?>
另存为“visitor category.php”;然后压缩文件
通过WP Dashboard->插件->ad new->上载并激活压缩文件