안녕하세요?
일전에 https://www.cosmosfarm.com/threads/document/30470?page=2
해당 url(숏코드 여러 카테고리)로 질문했었습니다.
저기서 해당 페이지 id로 구분을 하면될거같다고 하셨었는데,
페이지 id는 관리자 페이지 자체에선 따로 없는거같아요~
제가 관리자페이지에서 메뉴를 추가해서
하나의 관리자페이지를 추가로 만드려는거라,
그래서 대신
get_current_screen();
get_admin_page_title();
if문 조건을 두가지중 하나로 사용해서 쓰려는데
괜찮을까요?
관리자페이지에서 쓸수있는 더 적합한게 있다면 알려주시면 감사하겠습니다 ^^
안녕하세요~^^
워드프레스 페이지 ID를 찾으시려면 우선 새로운 페이지를 생성해주세요.
워드프레스 관리자 -> 페이지 -> 모든 페이지 -> 페이지 선택 후
주소창을 확인해보시겠어요?
워드프레스에서 페이지(포스트) ID를 찾는 방법에 설명되어 있습니다.
고맙습니다.
아~ 그게 아니라
현재 관리자 페이지에서 페이지를 생성 후 사용하고있습니다.
그러니까 관리자 화면에서 보는 페이지 인거죠
예를들어
add_action('admin_menu', 'register_custom_menu_page');
function register_custom_menu_page() {
add_menu_page('people','people','manage_options','custom_menu','custom_menu_page','',6);
}
function custom_menu_page() {
echo do_shortcode('[kboard id=3]');
}
functions.php에 저렇게 만들어서 사용하고있습니다.
관리자페이지는 페이지 id가 따로 안보이더라구요..
워드프레스 관리자 페이지에 메뉴로 추가하셨다면 주소창에 표시되는
page로 구분하면 될 듯합니다.
올려드린 코드를 기준으로 안내해드리겠습니다.
테마 쪽 functions.php 파일 하단에 아래의 코드를 추가해보시겠어요?
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if(is_admin() && isset($_GET['page']) && $_GET['page'] == 'custom_menu'){
if($board_id == '3'){ // 실제 게시판 id로 적용해주세요.
$category1[] = "'사람'";
$category1[] = "'인간'";
$category1[] = "'휴먼'";
$where .= " AND `category1` IN(".implode(',', $category1).")";
}
}
return $where;
}
고맙습니다.