모두의매뉴얼

이것저것 블로그

[WordPress] 워드프레스 젯팩 공유하기 버튼(Sharedaddy)을 다른 곳에 배치해 보자





  1. 젯팩이 제공하는 공유하기 버튼은 항상 위치가 하단 고정이에요.
  2. 하지만 테마의 코드를 조금만 손 본다면 위치를 마음대로 바꿀 수 있습니다.
  3. 하지만 테마의 파일을 직접 건드려야 해서 조금은 부담스러울 수 있어요.

워드프레스의 젯팩은 정말 강력한 필수 플러그인입니다. 여러 기능 중에서 자동으로 공유하기 버튼을 만들어 주는 옵션은 다른 공유 플러그인을 사용할 필요가 없을만큼 간단명료하게 잘 되어 있습니다.

하지만 너무 심플한 탓인지 항상 포스트의 하단에 배치되어 있는 공유하기 버튼들의 위치를 조정할 수 있는 설정은 제공하고 있지 않네요. 그래서 알아보니.. 젯팩에서 테마의 코드를 수정해 위치를 옮기는 방법을 안내해 주길래 그대로 옮겨와 간단한 설명을 붙여 보았습니다.

기존의 공유하기 버튼 제거하기

function jptweak_remove_share() {
    remove_filter( 'the_content', 'sharing_display',19 );
    remove_filter( 'the_excerpt', 'sharing_display',19 );
    if ( class_exists( 'Jetpack_Likes' ) ) {
        remove_filter( 'the_content', array( Jetpack_Likes::init(), 'post_likes' ), 30, 1 );
    }
}

add_action( 'loop_start', 'jptweak_remove_share' );

젯팩이 제공하는 예제에서는 먼저 기존의 공유하기 버튼을 제거하는 함수를 만들고 액션에 추가해 줍니다.

the_content 와 the_excerpt 에서 버튼을 못 가져오도록 합니다. 만약 젯팩 좋아요(?) 기능을 사용하고 있다면, 이 또한 the_content 에서 가져다 쓰지 못하도록 막아줍니다.

새로운 곳에 공유하기 버튼 배치하기

if ( function_exists( 'sharing_display' ) ) {
    sharing_display( '', true );
}

if ( class_exists( 'Jetpack_Likes' ) ) {
    $custom_likes = new Jetpack_Likes;
    echo $custom_likes->post_likes( '' );
}

이제 새로운 곳에 공유하기와 좋아요 버튼을 배치할 차례입니다.

위 두 개의 if 문을 테마 파일에서 원하는 곳에 배치해주면 됩니다.

첫 번째 if 문은 공유하기 기능을 사용하고 있을 때, 실제로 공유하기 버튼을 출력하라는 것이고, 두 번째 if 문은 좋아요 버튼을 출력하는 것입니다.

주의 할 점

너무나 완벽한 코드를 젯팩에서 제공해주기 때문에 그대로 사용하면 되지만, 테마를 직접 제작하여 사용하지 않는 사용자, 혹은 php 언어에 익숙하지 않은 사용자에게는 위 방법이 조금 무리가 되지 않을까 싶네요.

또 다른 방법도 한번 알아보도록 해야겠습니다.

참고자료

끝.