안녕하세요.
현재 DOKAN 이라는 멀티벤더마켓 플러그인과 우커머스를 연동해서 사용중입니다.
벤더(author)가 상품페이지에 상품을 등록 할 수 있는 시스템입니다.
이 때 사용자가 벤더에게 문의사항을 쪽지로 보낼 수 있게 하고 싶은데요.
일단 the_author_ID() 를 사용하면 상품을 올린 벤더의 아이디번호가 나옵니다.
이 아이디 번호를 the_user_ID 에 넣어서 쪽지를 작성하는 폼을 만들 수 없을까요?
숏코드로 만들 수 있으면 좋을 것 같습니다. ex) [cosmosfarm_new_message the_user_ID = the_author_ID] 이렇게 파라미터를 줘서요.
제가 사용하는 frontend_PM 이라는 플러그인에서는 숏코드로 author 에게 메세지 보내는 기능이 있는데, 코스모스팜 회원관리랑은 연동이 안되는 것 같더군요.
php 코드로는 아래 처럼 해보시겠어요?
echo '<a href="' . do_shortcode('[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>';
}
안녕하세요~^^
[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>
확인 해보시겠어요?
고맙습니다.