[글쓰기] 버튼이 항상 나타나고, 누르면 '로그인해야 한다'고 경고 메세지 나오게 하고 싶어요.

안녕하세요-

워드프레스 게시판 KBoard(케이보드) 사용중입니다.

 

1. 게시판 리스트에서 [글쓰기] 버튼이 항상 나타나고, 누르면 '로그인해야 한다'고 경고 메세지 나오게 하고 싶어서

http://www.cosmosfarm.com/threads/document/16442

위 문의에 안내하신대로 수정했는데 [글쓰기] 버튼이 안 나타납니다 ㅠ_ㅠ

 

2. 그리고 소셜 댓글 비활성화했는데 댓글 부분에 소셜 로그인이 나타나요.

관련이 있는지 모르겠지만 회원관리 플러그인 구매해서 적용해둔 상태입니다.

 

확인 부탁드려요- 감사합니다!

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

     

    1. 글쓰기 버튼이 안나오는 경우라면 아래 처럼 PHP 코드가 남아있을 가능성이 있습니다.

    <?php if($board->isWriter()):?> ... <?php endif?>

    혹은 캐시 플러그인이나 캐시 기능을 사용중인지도 확인해보시고 캐시 기능을 중지 해보시겠어요?

     

    2. 코스모스팜 회원관리 플러그인으로 소셜 로그인 기능을 사용하고 있다면

    댓글작성 권한이 없을 경우 소셜 로그인 버튼이 나오도록 되어있습니다.

    (소셜 로그인 기능을 사용하지 않는다면 단순 로그인 링크만 나옵니다.)

    결론적으로는 정상적인 상황입니다.

     

    고맙습니다.

  • 답변 감사합니다 !

    <?php if($board->isWriter()):?> ... <?php endif?> 이 부분 분명히 삭제했는데 버튼이 안 나타났거든요.

     

    생각해보니...안내해 주신 내용의 경로는 customer 스킨의 경우였네요 ^^;;

    /wp-content/plugins/kboard/skin/customer/list.php

     

    저는 Thumnail 스킨을 적용해두어서 안나온거였어요. ㅠㅠ

    아래 파일 수정하니 [글쓰기] 버튼이 잘 나오네요~

    /wp-content/plugins/kboard/skin/thumnail/list.php

     

    한가지  더 문의 드립니다-

    [글쓰기] 버튼을 클릭하면 '권한이 없습니다'라고 나오고 로그인 페이지로 넘어가는데요.

    '회원만 글쓰기를 할 수 있습니다'라고 Alert 창을 띄우고 [확인] 클릭했을 때, 게시판 페이지 그대로 두려면 어떻게 해야 하는지요?

    답변 부탁드리고, 미리 감사드립니다. ㅠㅠ

  • 안녕하세요.

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBoardBuilder.class.php 파일에

    아래의 코드를 찾아서

    if(!$this->uid && !$this->board->isWriter()){
    	if(is_user_logged_in()){
    		echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    		echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    	}
    	else{
    		$login_url = wp_login_url($_SERVER['REQUEST_URI']);
    		echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    		echo "<script>top.window.location.href='{$login_url}';</script>";
    	}
    	exit;
    }
    else if($this->uid && !$this->board->isEditor($content->member_uid)){
    	if($this->board->permission_write=='all' && !$content->member_uid){
    		if(!$this->board->isConfirm($content->password, $content->uid)){
    			$confirm_view = true;
    		}
    	}
    	else{
    		if(is_user_logged_in()){
    			echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    			echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    		}
    		else{
    			$login_url = wp_login_url($_SERVER['REQUEST_URI']);
    			echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    			echo "<script>top.window.location.href='{$login_url}';</script>";
    		}
    		exit;
    	}
    }

    아래의 코드로 교체해보시겠어요?

    if(!$this->uid && !$this->board->isWriter()){
    	if(is_user_logged_in()){
    		echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    		echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    	}
    	else{
    		echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    		echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    	}
    	exit;
    }
    else if($this->uid && !$this->board->isEditor($content->member_uid)){
    	if($this->board->permission_write=='all' && !$content->member_uid){
    		if(!$this->board->isConfirm($content->password, $content->uid)){
    			$confirm_view = true;
    		}
    	}
    	else{
    		if(is_user_logged_in()){
    			echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    			echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    		}
    		else{
    			echo '<script>alert("'.__('You do not have permission.', 'kboard').'");</script>';
    			echo "<script>window.location.href='{$url->set('mod', 'list')->toString()}';</script>";
    		}
    		exit;
    	}
    }

    고맙습니다.

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