Korea SNS 공유 버튼을 워드프레스 bbPress 게시글에 삽입하기

워드프레스 포럼 플러그인인 bbPress의 게시글을 SNS와 공유하려는 경우 Super Socializer와 같은 플러그인을 사용할 수 있습니다.

하지만 외국 플러그인에는 네이버, 카카오톡 등과 공유하는 기능이 없습니다. 네이버, 카톡 등과 공유하려면 Korea SNS를 설치해야 합니다. 하지만 Korea SNS 플러그인을 설치하고 설정에 들어가보면 bbPress와 같은 Custom Post Type(커스텀 포스트 타입)에서 공유 버튼을 표시하는 옵션이 없습니다.

Korea SNS - 한국형 워드프레스 SNS 공유 플러그인

위의 그림과 같이 개별 글, 페이지, 홈페이지, 태그, 카테고리, 아카이브, 작성자 아카이브, 검색 결과 페이지에만 공유 버튼을 표시할 수 있습니다.

bbPress 템플릿 수정하기

bbPress 게시글에 공유 버튼을 표시하려면 어떻게 하면 될까요? 여러 가지 방법이 있습니다. 먼저는 Korea SNS의 숏코드를 bbPress 템플릿 파일의 적당한 곳에 추가하는 방법을 생각해볼 수 있습니다. Korea SNS의 숏코드(단축 코드)는 {korea_sns_button}입니다({..}은 [...]으로 변경하세요).

<?php echo do_shortcode( '{korea_sns_button}');?>

그래서 위와 같은 PHP 코드를 bbPress의 loop-single-reply.php 파일의 적당한 곳에 추가하시면 됩니다. (이 작업을 위해서는 FTP에 접속할 수 있어야 합니다. 자세한 수정 방법은 이 글을 참고해보시기 바랍니다.)

예를 들어, <?php do_action( 'bbp_theme_after_reply_content' ); ?> 바로 아래에 위의 코드를 추가해보면 다음 그림과 같이 Korea SNS 공유 아이콘이 추가됩니다.

Korea SNS in bbPress - 워드프레스 bbPress에서 Korea SNS 사용하기레이아웃이 약간 비뚤어지는 것은 CSS를 통해 바로잡아 주면 됩니다. 이상과 같이 워드프레스에서 간단한 코드 한 줄로 bbPress의 게시글을 네이버 블로그나 카톡에 공유할 수 있는 공유 버튼을 추가할 수 있습니다.

액션/필터 후크 사용하기

또 다른 방법으로 bbPress 후크를 사용하는 것입니다. 다음과 같은 코드를 테마 함수 파일에 추가합니다.

/* Korea SNS 버튼 추가 */
add_action( 'bbp_theme_after_reply_content','bbp_korea_sns' );
function bbp_korea_sns() {
$output = '<div class="koreasnsbbp">' . do_shortcode( '{korea_sns_button}' ) . '</div>';
echo $output;
}

그런 다음 CSS를 사용하여 첫 번째 컨텐츠에만 Korea SNS 버튼이 표시되도록 하면 더 보기 좋을 것입니다. bbPress와 BuddyPress 필터/액션 후크는 여기를 참고해보시기 바랍니다. bbPress의 템플릿 레이아웃은 테마에 따라 조금씩 다를 수 있습니다. 예를 들어, 가장 많이 판매되는 아바다 테마에서는 테마 폴더 아래에 일부가 수정된 bbpress 템플릿이 함께 제공되어 bbPress 레이아웃이 더 보기 좋게 수정되어 제공됩니다. 특히 커뮤니티 관련 테마에서는 더욱 세련된 레이아웃을 제공할 수 있습니다.

참고:

 

 

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

2개 댓글

  1. 안녕하세요 버디 프레스에서 korea sns 를 쓰고 싶은데요 도저히 방법을 모르겠습니다.
    일부러 정품까지 구매 했는데 버디프레스 지원을 안하더라구요.
    조금 상세히 알려주실수 있나요?

    1. 버디프레스와 bbPress를 함께 설치하여 커뮤니티를 만들게 되는데요, bbPress 게시물을 공유하게 되므로 위에 제시된 방법에 따라 bbPress에 korea sns 코드를 넣으면 될 것 같습니다. 그런데 korea sns가 유료로 판매한다는 것은 처음 알았네요.ㅎㅎ

댓글 남기기

* 이메일 정보는 공개되지 않습니다.