컨텐츠몰 상품, 관리자 검수 후 판매 문의

일반회원이 컨텐츠 상품 등록을 올렸을 때,

바로 판매가 되는 것이 아니고

관리자가 검수 후 판매하도록 하려면 어떻게 해야 할까요?

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    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로 적용했는데요

    아래 스샷처럼 접속 에러가 나타납니다.

    https://imgur.com/VyaY279

    https://imgur.com/y9r6PJU

     

    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로 교체하시면

    함수명 중복 문제가 발생하지 않습니다.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요