워드프레스 / 메모

functions.php

위젯 제목 출력되지 않게 하는 방법

위젯의 내용은 출력하지만, 위젯 제목은 출력하고 싶지 않다면, 다음 코드를 추가한다.

function no_widget_title( $t ) {
  return null;
}
add_filter( 'widget_title', 'no_widget_title' );

이메일 주소 변경 알림 메일 가지 않게 하는 방법

add_filter( 'send_email_change_email', '__return_false' );

메타 태그 추가하는 방법

function cmsfactory_meta_tags() {
  echo '<meta ...>';
  echo '<meta ...>';
}
add_action( 'wp_head', 'cmsfactory_meta_tags' );
function cmsfactory_meta_tags() {
?>
  <meta ...>
  <meta ...>
<?php
}
add_action( 'wp_head', 'cmsfactory_meta_tags' );

위젯에서 쇼트 코드 실행되게 하는 방법

add_filter( 'widget_text', 'do_shortcode' );

따옴표

워드프레스는 따옴표를 분석해서 왼쪽 따옴표와 오른쪽 따옴표를 다른 모양으로 바꾼다. 만약 이게 싫다면 다음 코드를 추가한다.

remove_filter ( 'the_content', 'wptexturize' );
remove_filter ( 'the_title', 'wptexturize' );

이미지 사이즈가 줄어든다면...

아주 큰 사이즈의 이미지를 업로드했을 때, 그 크기가 유지되지 않고 줄어드는 경우가 있다. 예를 들어 세로 크기가 6000px인 이미지인데 2560px로 바뀌는 등... 그 제한을 풀고 싶다면 다음 코드를 추가한다.

add_filter( 'big_image_size_threshold', '__return_false' );

2560이 아니라 4000 정도로 정하고 싶다면, 다음 코드를 추가한다.

function mynamespace_big_image_size_threshold( $threshold ) {
    return 4000;
}
add_filter('big_image_size_threshold', 'mynamespace_big_image_size_threshold', 999, 1);

Template

템플릿 안에 쇼트코드(shortcode) 넣는 방법

<?php echo do_shortcode( "[shortcode]" ); ?>

플러그인

UserPro / CSS, JS 버전 보이게 하는 방법

UserPro를 사용하면 CSS와 JS에 버전이 붙지 않는다.

style.css?ver=4.9.5

처럼 나와야 하는데

style.css

만 나온다. 플러그인 성능 향상을 위한 거라는데, 일반적으로 버전 관리를 할 수 없으면 곤란하다. 최신 파일이 아닌 캐시된 파일을 사용하면 제대로 작동하지 않을 수 있기 때문이다.

이를 해결하기 위해서는

/wp-content/plugins/userpro/functions/hooks-actions.php

파일에서

add_filter( 'style_loader_src', 'up_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src','up_remove_wp_ver_css_js', 9999 );

를 주석 처리한다.

Post Views Counter / 테마에 조회수 출력하기

<?php
  echo pvc_get_post_views( $post_id = 0 );
?>

관리자에게만 보이고 싶다면..

<?php
  if ( current_user_can( 'administrator' ) ) {
    echo pvc_get_post_views( $post_id = 0 );
  }
?>

기타

트랙백 허용일 때만 트랙백 주소 나오게 하기

<?php if ('open' == $post->ping_status) { ?>
  <?php trackback_url(); ?>
<?php } ?>

페이지 템플릿, 포스트 타입 저장 위치

페이지는 페이지 템플릿으로, 포스트는 포스트 템플릿으로 디자인을 정한다. 어떤 글이 어떤 형식으로 되어 있는지 일괄적으로 찾는 게 쉽지 않은데... 데이터베이스에 직접 접속해서 쿼리를 실행하면 찾기 편하다. 저장되는 테이블은 wp_postmeta.

SELECT post_id, meta_value
FROM wp_postmeta 
WHERE meta_key = '_wp_page_template'
;