3ответ(ов) в теме
У меня "особенная тема" с кастомными полями. Эти кастомные поля содержат контент, который не скрывает WP Access Ultimate. А очень бы хотелось.
В теме есть поддержка популярных плагинов доступа (memberpress и прочих). Достаточно выбрать из списка и все.
Демонстрирую код, который делает тему совместимой с этими плагинами:
switch ($plugin) {
case "memberpress":
if (class_exists('MeprRule')) :
$post = get_post($content);
if (!MeprRule::is_locked($post)) :
$access=true;
endif;
endif;
break;
case "woocommerce":
if (class_exists("WooCommerce")) :
if(current_user_can('wc_memberships_view_restricted_post_content',$content)) :
$access=true;
endif;
endif;
break;
case "pmpro":
if (function_exists('pmpro_hasMembershipLevel')) :
$pmpro_level_ids=explode(",",$level);
if(pmpro_hasMembershipLevel($pmpro_level_ids)) :
$access=true;
endif;
endif;
break;
case "membermouse":
if (function_exists('mm_access_decision')) :
if (mm_access_decision(array("id"=>$content, "access"=>"true"))) :
$access=true;
endif;
endif;
break;
case "rcp":
if (function_exists('rcp_user_can_access')) :
if (rcp_user_can_access(get_current_user_id(),$content)) :
$access=true;
endif;
endif;
break;
case "wishlist":
if (function_exists('wlmapi_is_user_a_member')) :
$wishlist_level_ids=explode(",",$level);
foreach ($wishlist_level_ids as $key => $value) :
if (wlmapi_is_user_a_member($value,get_current_user_id())) :
$access=true;
endif;
endforeach;
endif;
break;
case "memberium":
if (function_exists('memb_hasPostAccess')) :
if (memb_hasPostAccess($content)) :
$access=true;
endif;
endif;
break;
case "am360":
$check_access=do_shortcode('[mbr_is_allowed_access post_id="' . $content . '"]true[/mbr_is_allowed_access]');
if ($check_access=='true') :
$access=true;
endif;
break;
case "im360":
$check_access=do_shortcode('[i4w_user_has_access post_id="' . $content . '"]true[/i4w_user_has_access]');
if ($check_access=='true') :
$access=true;
endif;
break;
case "s2member":
if (function_exists('is_permitted_by_s2member')) :
if (is_permitted_by_s2member($content)) :
$access=true;
endif;
endif;
break;
case "optimizemember":
if (function_exists('is_permitted_by_optimizemember')) :
if (is_permitted_by_optimizemember($content)) :
$access=true;
endif;
endif;
break;
case "wpfusion":
if (class_exists('wp_fusion')) :
if (wp_fusion()->access->user_can_access($content)) :
$access=true;
endif;
endif;
break;
default:
$access=false;
}
Как я понял, каждый "case" делает совместимость темы с плагином.
Подскажите какой case вписать для WP Access Ultimate?
P.S.: выбор в список я уже добавил:
Вы не можете просматривать опубликованные ссылки
Понимаю, это поддержка, кажется, уже не в рамках функционала, но буду рад, если вы мне поможете:)
Редакции сообщения
22.09.2019 08:53Причина: не указано
Добрый день.
Видимо следует добавить такой блок
case "wpaccessultimate":
if (class_exists('WAU_Post')) :
global $WAU_User, $post;
$WAU_Post = new WAU_Post(array(
'post_id' => $post->ID
));
if(!$WAU_Post->access || $WAU_Post->access && $WAU_User->is_branch_access($WAU_Post->get_account_ids())){
$access = true;
}
endif;
break;
вместо "wpaccessultimate" укажите тот идентификатор что указали при добавлении пункта в список
Тема закрыта. Публикация новых сообщений запрещена.