[회원관리 쪽지 보내기] 숏코드에 파라미터 넣기

안녕하세요.

현재 DOKAN 이라는 멀티벤더마켓 플러그인과 우커머스를 연동해서 사용중입니다.

벤더(author)가 상품페이지에 상품을 등록 할 수 있는 시스템입니다.

이 때 사용자가 벤더에게 문의사항을 쪽지로 보낼 수 있게 하고 싶은데요.

 

일단 the_author_ID() 를 사용하면 상품을 올린 벤더의 아이디번호가 나옵니다.

이 아이디 번호를 the_user_ID 에 넣어서 쪽지를 작성하는 폼을 만들 수 없을까요?

숏코드로 만들 수 있으면 좋을 것 같습니다. ex) [cosmosfarm_new_message the_user_ID = the_author_ID] 이렇게 파라미터를 줘서요.

제가 사용하는 frontend_PM 이라는 플러그인에서는 숏코드로 author 에게 메세지 보내는 기능이 있는데, 코스모스팜 회원관리랑은 연동이 안되는 것 같더군요.

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

    [cosmosfarm_members_messages] 숏코드가 삽입된 쪽지 페이지를 만들어 두셨는지요?

    쪽지를 작성하는 폼은 해당 페이지에 표시됩니다.

    그래서 해당 페이지로 링크를 걸어야 하는데요.

    "http://쪽지페이지주소/?to_user_id=1" 이런 형식으로 하시면 쪽지를 작성하는 폼이 나옵니다.

     

    get_cosmosfarm_members_messages_url() 함수를 사용해서 링크하는 방법입니다.

    <a href="<?php echo get_cosmosfarm_members_messages_url(array('to_user_id'=>$to_user_id))?>">쪽지보내기</a>

     

    아래 코드를 테마의 functions.php 파일에 추가해주세요.

    add_shortcode('my_cosmosfarm_members_messages_url', 'my_cosmosfarm_members_messages_url');
    function my_cosmosfarm_members_messages_url($args){
    	$to_user_id = 0;
    	if(is_array($args) && isset($args['to_user_id']) && $args['to_user_id']){
    		$to_user_id = $args['to_user_id'];
    	}
    	
    	if($to_user_id){
    		return get_cosmosfarm_members_messages_url(array('to_user_id'=>$to_user_id));
    	}
    	return get_cosmosfarm_members_messages_url();
    }

    그리고 아래 처럼 활용이 가능합니다.

    <a href="[my_cosmosfarm_members_messages_url to_user_id=1]">쪽지보내기</a>

     

    확인 해보시겠어요?

    고맙습니다.

  • 답변 감사합니다.

    질문이 두개 있습니다. 연결된 질문인데요.

    1.

    보통 숏코드 실행시에는 do_shortcode() 사용했었는데요.

    저렇게 하이퍼링크 처리된 것은 어디에 넣어야 하나요?

     

    2.

    현재, functions.php 파일에 우커머스 싱글 페이지에 tab을 추가시키고

    그 tab 안의 컨텐츠로 쪽지 작성폼을 넣고 싶습니다. 하이퍼링크도 좋지만 폼 자체가 들어가면 제일 좋을 것 같아요!

    방법이 있을까요?

     

     

    아래는 tab을 추가하는 기능에 알려주신 코드를 삽입한 겁니다.

    근데 하이퍼링크를 클릭하면 없는 페이지라고 뜨네요 ㅜㅜ 숏코드가 url에 그대로 들어가더라구요.

     

    add_filter( 'woocommerce_product_tabs', 'new_product_tab' );

    function new_product_tab( $tabs ) {
        /* Adds the new tab */
        $tabs['test_tab'] = array(
            'title'     => __( '판매자에게 메시지', 'woocommerce' ),
            'priority'  => 50,  
            'callback'  => 'new_product_tab_content'
        );
        return $tabs;  /* Return all  tabs including the new New Custom Product Tab  to display */
    }

    function new_product_tab_content() {
        
     

      echo '<a href='[my_cosmosfarm_members_messages_url to_user_id=1] '>쪽지보내기</a>';

     }
     

  • php 코드로는 아래 처럼 해보시겠어요?

    echo '<a href="' . do_shortcode('[my_cosmosfarm_members_messages_url to_user_id=1]') . '">쪽지보내기</a>';

     

    우커머스 상품 탭에 추가하는 방법은 저희도 한번 연구해보겠습니다~^^;;

    고맙습니다.

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