일반회원이 컨텐츠 상품 등록을 올렸을 때,
바로 판매가 되는 것이 아니고
관리자가 검수 후 판매하도록 하려면 어떻게 해야 할까요?
안녕하세요~^^
KBoard 퍼스트 콘텐츠몰 스킨에서 관리자가 승인한 상품만 표시하시려면
게시판 설정 중 관리자 승인 기능을 활용해보는 건 어떨까 합니다.
1. 워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 권한설정 페이지에서
관리자 승인을 활성화해보세요.
2. 워드프레스 관리자 -> 외모(테마 디자인) -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보세요.
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){
$where .= "AND (`status`='' OR `status` IS NULL)";
}
return $where;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
위의 코드를 적용하시면 승인 대기 중인 게시글을 표시하지 않습니다.
1번과 2번을 적용하시면
게시글 작성 후 관리자가 전체 게시글 쪽에서
상태를 발행됨으로 적용한 게시글만 목록 페이지에 표시됩니다.
고맙습니다.
1번은 잘 되었는데,
2번은 functions.php 파일 하단에 아래 코드 추가하고 실제 게시판 id로 적용했는데요
아래 스샷처럼 접속 에러가 나타납니다.
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){
$where .= "AND (`status`='' OR `status` IS NULL)";
}
return $where;
}
올려주신 이미지만으로 저희 쪽에서 원인을 파악하기 어렵습니다.
정확한 원인을 파악하기 위해
디버그 모드를 활성화해서 어떤 에러 메시지를 표시하는지 확인해보시고 알려주시겠어요?
디버그 모드 활성화 방법은
아래의 링크를 참고해보세요.
고맙습니다.
functions.php 파일 전체를 확인해보니,
예전에
다른 이유로 같은 코드를 추가한 적이 있는데요,
$board_id == '1' 부분에 게시판 id를 여러개로 적용하려면 어떻게 적어야 하나요?
컨텐츠몰 때문에 1개만 추가가 아니라 다른 이유로 게시판 id가 1개가 더 있습니다.
add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){
$where .= "AND (`status`='' OR `status` IS NULL)";
}
return $where;
}
워드프레스 필터는 중복해서 여러 개 사용할 수는 있지만
PHP 함수는 같은 함수명을 중복해서 사용하면 정상적으로 동작하지 않습니다.
이전 댓글에 안내해드린 코드를 여러 게시판에 적용하시려면
$board_id == '1' 부분을 in_array($board_id, array('1', '2', '3')) 이런 식으로 적용해보시겠어요?
위의 코드에서 '1', '2', '3' 부분은 실제 게시판 id로 적용해보세요.
또 다른 방법으로는 PHP 함수명이 중복되지 않게 추가하는 방법이 있습니다.
add_filter('kboard_list_where', 'my_kboard_list_where2', 10, 3);
function my_kboard_list_where2($where, $board_id, $content_list){
if($board_id == '1'){ // 실제 게시판 id로 적용해보세요.
$where .= "AND (`status`='' OR `status` IS NULL)";
}
return $where;
}
위의 코드를 보시면 기존 my_kboard_list_where 함수를 my_kboard_list_where2로 교체하시면
함수명 중복 문제가 발생하지 않습니다.
고맙습니다.