Country Ways Content Show

时间:2018-01-22 作者:Mohsin Alam

我想要一个系统,使“国家的方式内容显示”的主页上。我在不同类别的每个国家发布了不同的国家。假设你来自美国,当你访问时,只有在美国类别下的帖子才会显示你,而不是其他国家的内容。就像这样,如果葡萄牙人访问,他将看到来自葡萄牙类别的内容,他从未看到美国内容,但可以从类别列表中手动浏览。谢谢

1 个回复
SO网友:scytale

这实际上很容易做到:您需要安装一个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->上载并激活压缩文件

  • 结束

    相关推荐

    如何在模板页面的不同<p>中显示数据库中的POST_CONTENT?

    我正在存储一些未设置样式的长文本post\\u内容,其中标题为XXX。我正在选择此内容:<?php global $wpdb; $findContent = $wpdb->get_var(\"SELECT post_content FROM wp_posts WHERE post_title = \'XXXX\'\"); echo $findContent; ?> 这是一项要求,f$indContent不能输入到数据库中,所以我