한 아이디로 다른아이디로 글을 쓰는 방법에 대한 문의 드립니다

안녕하세요. 이번 주말내내 계속 해보다가 안되서 질문드립니다ㅠ
1:1기능을 응용해서 회원들의 자신만의 문의게시판(?)을 만들어보려하고 있습니다.

기본스킨 editor.php, member_uid쪽에 인풋히든을 텍스트로 변경하였습니다.

예를들어 글을 쓸때 5를 입력하면, member_uid가 5번인 사람에게 보여야하는데 5번인 사람에게 보이질 않습니다.
하지만 수정을 누르고 5를 입력하면 5번인 사람에겐 보입니다. 즉 처음 글쓸때는 member_uid 입력값이 반영되지 않는거같습니다ㅠ

        <input type="text" name="member_uid" value="<?php echo $_GET['test']?>">

겟으로 추가하여 url/보드가있는페이지?test=5
이런식으로 입력해봐도 5는 입력되지만, 역시 처음 글쓸땐 5에게 보이게끔 되질 않습니다ㅠ
이 역시 글을쓴다음 수정을 해주면, member_uid가 5인 사람에게 보입니다.

겟방식을 이용해서 특정주소로 들어온 방문자가 문의를 남길시, 그에 해당하는 회원에게만 문의글이 보일수있도록 하려고합니다.

처음 글을 쓸때 member_uid를 임의로 설정해주면 그사람에게만 보이게끔하려면 어떻게해야할까요ㅠ (현재는 글을 쓴후 반드시 수정을 통해 member_uid값을 넣어야 그사람에게만 보이는것이 됩니다ㅠ)

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

    우선 텍스트 필드의 value의 코드는 아래와 같이 바꿔주셔야 보다 안전합니다.

    <input type="text" name="member_uid" value="<?php echo isset($_GET['test']) ? intval($_GET['test']) : ''?>">

     

    그리고 코드상에서는 별다를 문제를 찾을 수가 없는데요.

    더군다나 다시 저장하면 제대로 된다니 필드 코드의 문제는 아닐 수 있습니다.

    get 방식으로 값을 넘겨주는 과정에 문제가 있지 않나 싶기도 하고요.

    비회원으로 확인해볼 수 있는 페이지 주소가 있다면 알려주시겠어요?

    확인해보겠습니다.

    고맙습니다.

  • 안녕하세요 존경하는 스레드봇님, 필드코드의 문제가 아닐수있다는말씀에
    혹여나 입력필드수정 php가 있는게 문제가 아닐까하여 입력필드수정관련 php파일이 없는 다른 스킨으로 해보니 됩니다ㅠㅠ
    아마 디폴트스킨에 에디터필드.php가 문제가 된것이 아닌가 싶어요ㅠ

    우선 현재 포럼원 스킨으로는 되니 포럼원 css조절하여 쓸 예정입니다.

    그리고 확실히 케이보드 플러그인이 점점 그누보드급 이상이 되어갈날이 얼마남지 않은듯싶습니다.
    자료들도 점점 많아지고, 무료vs유료 차이는 있으나 1년 무제한 라이센스라는 메리트때문에 그나마 대부분 케이보드로 계속 넘어올거같네요
    (저두 그랬구요ㅎ)


    그리고 이건 비밀글로 남기고 싶었는데 비밀글이 없네여ㅠㅠ
    도움이 되실진 모르겠지만... 너무 감사함에 케이보드 발전을 생각해봤습니다. 제 갠적인 의견으론
    워드프레스 홈페이지 제작하는 사람들을 대상으로 개발기능을 강화시켜나가거나 초점을 맞춘다면, 비즈니스회원들이 더욱더 이용자를 늘려감에
    이용자가 그누보드정도는 아니겠지만 더욱더 빨리 증가하는 방법이 아닐까싶습니다. 그리고 그렇게만되면 워드프레스나 그누보드가
    돈을 버는것처럼 사람이 모이면 모일수록 점점 더 큰돈이 들어오시지 않을까싶네여.
    xe가 망한이유는 결국 아무것도 모르는 사람들을 대상으로 판매만 하려고 했기에 이용자 증가가 없었고
    그누보드가 제로보드를 압도적으로 앞지른이유는 웹제작자들에게 무료로 오픈소스를제공하고 커뮤니티를 형성함에
    웹제자작들이나 개발자를 대상으로 모든것을 오픈함에 따라 그누보드 홈페이지가 계속 빠르게 늘어가면서
    사용자가 점점 계속 증가하게되는 순환고리를 타면서 제로보드를 앞질렀습니다. 결국 사용자가 증가가 가장 빠른건
    개발자를 대상으로 더욱 빨리 퍼지게하는것이 사실 비밀일수도 있다고 생각합니다.
    워프도 사실 처음에는 웹개발사들이 더욱 편리하게 이용할수있는것을 지속적으로 제공함에
    많은 페이지들이 워프로 제작되기 시작하면서 흐름을 탔구요.

    케이보드도 이용자들만 수십배로 증가할수있다면 회사자체가 엄청나게 커질거같습니다. 그리고 가장빠른건
    개발사들의 권유없이도 자기들이 알아서 적극적인 케이보드이용을 통한 납품이 가장 확실한 방법이 아닐까 생각합니다.
    확실한것은 이용자만 많다보면 돈은 어떻게든 벌리는것이 이치니깐요.

    물론 어떤방향을 생각하고 계신진 모르지만, 제 나름대로 케이보드의 더욱 빠른 발전을 이루기위해 생각해봤습니다.
    조금이나마 도움이된부분이 있으셨기를 바라며ㅠㅠ
    (참고로 저희회사는 사업자들의 회사성장, 사업성장관련된 컨설팅등에 업무를 하는곳이라, 제 안목이 케이보드측에도 어느정도는 도움이 될수있을거라 생각합니다)

    국내에선 케이보드가 해외에 버디프레스 우커머스같은 필수 플러그인 수준을 넘어선 수준이 되는 그날까지 
    언제나 케이보드 사랑에 앞장서겠습니다. 항상 언제나 감사드립니당. 국내에선 무조건 케이보드가 최고입니다!

  • 아... 착오가 있었던거같네요ㅠㅠ 다른스킨들도 되질 않습니다ㅠ

    get이 아닌 히든을 텍스트로해서 member_uid 혹은 user_id를 직접 써도

    처음쓸땐 입력이 먹히질않고, 수정을 통해 값을 넣어줄때만 입력이되네요ㅠ

  • 오늘 하루종일 매달려본결과... 글등록시 member_uid값은 wp_users테이블과 매칭하여 현재 로그인사용자가 맞는지 확인하는거같습니다...

    즉 히든을 텍스트로 바꾼후 member_uid 값을 임의적으로 입력해도 그값이 제대로 적용되지않는거같습니다.

    (반드시 글을 무조건 등록이후 '수정'시에 member_uid값을 변경할경우에만 반영됩니다.)

    제가 원하는것은 member_uid값을 글등록시에 임의적으로 입력해도 반영되는것입니다ㅠ

    member_uid값을 임의적으로 변경하여 글등록시 member_uid값이 제대로 반영되지 않는데, 이것을 반영되게끔 하려면 어떻게해야하나요?ㅠ
    (member_uid값 변경은 글등록시 반영되지 않으며, 수정시에만 반영됩니다ㅠㅠ)

     

    (위의 답변은 너무감사드린데ㅠ 참고로 get방식은 아주 잘작동합니다ㅠㅠ 현재 문제는 글등록시 member_uid 입력값이 반영되지 않는것이 문제입니다ㅠ)

     

    (예를들어 관리자가 58을 입력하고 글을쓰면 58아이디만 그글을 볼수있고, 84를 입력하면 84아이디만 그글을 볼수있게끔하는,

    1:1게시판에 글을 다른아이디나 비로그인자가 써도 글등록시 member_uid값이 들어가면 그아이디가 볼수있게끔 하기위함입니다)

     

    아니면 혹시, 본인만글쓰기 기능에서 에디터php에 인풋을 넣어, 해당 문의글을 함께볼사람 아이디를 입력하여 입력한 아이디에게도 함께 보이게끔 할수는 없을까요?ㅠ

    (즉 관리자와 본인 그리고 입력한 아이디에게만 리스트가 노출되게끔 하는것을 원합니다ㅠ)

    테마펑션에 아래 코드를 응용하면 뭔가 될수도 있을거같은데 어떻게 건드려야할지 모르겠습니다ㅠ

    add_filter('kboard_list_where', 'my_kboard_list_where', 10, 2);
    function my_kboard_list_where($where, $board_id){
         if(!is_super_admin() && $board_id=='1'){ // 원하시는 게시판 ID 값으로 바꿔주세요.
              $user_ID = get_current_user_id();
              return $where . " AND `member_uid`='$user_ID'";
         }
         return $where;
    }

     

  • 안녕하세요~^^

    아래의 코드를 활용해보시겠어요?

    add_action('kboard_pre_document_insert', 'my_kboard_pre_document_insert', 10, 4);
    function my_kboard_pre_document_insert($uid, $board_id, $content, $board){
    	if($board_id == '1' && isset($_GET['test'])){
    		$content->member_uid = $_GET['test'];
    	}
    }

    위의 코드에서 $board_id == '1' 부분은 실제 게시판 ID로 변경하신 후에 적용해보세요.

    고맙습니다.

  • 안녕하세요, 더 쉽게 확인하실수있게끔 정리해놨습니다.

    본인만글보기로 설정해놨으며, 멤버uid를 설정할수있게 해놓았습니다.

    브라우져 두개로 직접 테스트해보시면 더 정확하게 이해하실수 있으실거같습니다ㅠ

    (해보시믄 아시겠지만 반드시 수정을 통해 member_uid를 변경해야 적용이되고 바로 글쓸땐 적용이 안됩니다ㅠ)

    https://www.adlinkfly.co.kr/

  • 본인의 글만 보기로 설명하셨다면 본인이 작성했거나

    수정한 member_uid의 회원만 볼 수 있습니다.

    문의글을 함께 볼 사람 아이디를 입력하여 입력한 아이디에게도 함께 보이게끔 하는 것은

    저희도 고민을 해봐야 할 듯합니다.

    추가로 올려주신 페이지에서 글쓰기 권한이 없어 확인해보지 못했습니다.

    고맙습니다.

  • 아...ㅠ 로그인 눌러보시면, 테스트하실수있도록 데모 아이디를 만들어놓았었는데ㅠㅠ
    다시한번 확인해주시겠어요?ㅠ

    네 맞습니다 본인의 글만 보기로 설명한것입니다ㅠ
    문제는 글을 쓸때 적용이 되질 않는다는점이에요ㅠㅠ

    특정아이디를 입력한사람에게 보이게끔 하는 기능이 있다면 정말 최고일듯싶습니다ㅠ

    현재 이 기능은(상담요청시 관리자와 지정한아이디회원이 상담요청을 확인할수있는기능
    혹은 말씀하신대로 지정아이디 리스트열람기능을 추가해서 글쓴이까지 내용을 볼수있다면 금상첨화입니다ㅠㅠ) 
    자체적으로 php랑 db연동해서 정말 말그대로 대충 만들어 쓰고있습니다ㅠ 케이보드로 된다면
    테이블 칼럼추가등 번거로운 작업도 없기에 반드시 케이보드로 꼭 활용하고 싶어요ㅠ

  • 안녕하세요.

    KBoard 게시판 플러그인에서 member_uid는 입력받은 값이 아닌

    코어 쪽에서 자동으로 처리하고 있기 때문에 직접 입력해도

    현재 로그인된 사용자의 id가 입력됩니다.

    따라서 KBoard 플러그인에서 지원하는

    kboard_pre_document_insert 필터를 이용해서 처리를 해주셔야 할 듯합니다.

     

    기존 hidden으로 되어 있던 member_uid 부분을 text로 변경하셨다면 

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_action('kboard_pre_document_insert', 'my_kboard_pre_document_insert', 10, 4);
    function my_kboard_pre_document_insert($uid, $board_id, $content, $board){
    	$content->member_uid = isset($_POST['member_uid'])&&$_POST['member_uid'] ? $_POST['member_uid'] : get_current_user_id();
    }

    위 코드는 member_uid 부분에 입력한 member_uid가 입력되고

    입력하지 않으면 현재 로그인된 사용자의 id가 입력됩니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기