问题描述
我正在使用地理定位 IP 检测插件来检测访问者所在的国家/地区。我在帖子编辑器页面上有自定义分类法的元框来添加国家/地区名称。
因此,如果用户不是来自分类国家/地区,我们希望将用户的帖子设为私有。
这是我的函数,但它没有按预期工作。请帮帮我!
function geo_content_change_post_visibility( $post ) {
$geoip = geoip_detect2_get_info_from_current_ip();
$name = $geoip->raw['country']['names']['en'];
$terms = get_the_terms( $post->ID,'country' );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
$terms_string = wp_list_pluck($terms,'name');
}
if ( get_post_status ( $post->ID ) == 'public' ) {
$post_data = array(
'ID' => $post->ID,'post_status' => 'private'
);
if ( ! in_array( $name,$terms_string )) {
if ( ! is_admin() ){
wp_update_post( $post_data );
}
}
}
return $post;
}
add_filter( 'the_post','geo_content_change_post_visibility' );
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)