A페이지를 만들어서 B페이지에 삽입했는데 A,B 공개 설정이 다릅니다.
A는 관리자랑 최고등급만 보이게 B는 누구나 볼수있게 해놨는데
B에 삽입한 A페이지가 B페이지 공개 기준으로 누구나 다 볼수있게 보여집니다.
B페이지에 접속한 등급에 따라 삽입된 A페이지가 보여지게 또는 안보이게 할 수 있는지요
안녕하세요~^^
B페이지에 A 페이지를 어떻게 추가하셨는지 알려주시면
저희도 좋은 방법이 있을지 고민해보겠습니다.
고맙습니다.
" 인서트 페이지" 플러그 인을 사용해서 "elementor" 플러그인에서 삽입했습니다.
안녕하세요.
숏코드로 추가하신 건지요?
워드프레스 관리자 -> 외모(테마 디자인) -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_shortcode('user_role', 'check_user_role');
function check_user_role($atts, $content = null){
extract(shortcode_atts(array('role'=>'role'), $atts));
$user = wp_get_current_user();
$roles = explode(',', $atts['role']);
$allowed_roles = $roles;
if(array_intersect($allowed_roles, $user->roles)){
return $content;
}
}
B에 삽입한 A페이지 숏코드를 아래처럼 적용해보시겠어요?
[user_role role="administrator,author,subscriber"][A페이지숏코드][/user_role]
위의 코드에서 administrator,author,subscriber 부분은 표시하려는 역할
즉, A페이지를 볼 수 있는 역할을 콤마로 구분해서 입력해보세요.
A페이지숏코드 부분에는 B에 삽입한 실제 A페이지 숏코드를 입력해보세요.
아래 링크도 참고해보시겠어요?
https://stackoverflow.com/questions/39593273/user-roles-shortcode
고맙습니다.