워드프레스 / 메모

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

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

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

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

functions.php에 다음 코드를 추가한다.

add_filter( 'send_email_change_email', '__return_false' );

메타 태그 추가하는 방법

자식 테마를 만들어서 사용하고 있다면, 메타 태그 추가는 functions.php를 이용하는 게 좋다.

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' );

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

functions.php에 다음 코드를 추가한다.

add_filter( 'widget_text', 'do_shortcode' );

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

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

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 );

를 주석 처리한다.

데이터베이스 연결 중 에러가 난다면

아무런 작업을 하지 않았는데도 데이터베이스 연결 중 에러가 나면서 사이트 접속이 되지 않을 수 있다. 구글에서 '워드프레스 데이터베이스 연결중 에러'로 검색하면 여러 가지 해결책이 나오는데...

그 방법들을 사용해보기 전에 서버를 재부팅하고 20분 정도 기다려보자. 저절로 해결될 수도 있다.

따옴표

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

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

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

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

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

워드프레스 사이트 속도

  • 워드프레스로 만든 사이트의 속도가 느리다고 느껴진다면, 로그아웃하고 사이트에 접속해보자. 관리자로 로그인한 상태에서의 속도보다 빠를 것이다.

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

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

그럴 땐 functions.php에 다음 코드를 추가하자.

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);

Elegant Themes

100개가 넘는 테마를 사용할 수 있는 구독 형식의 워드프레스 테마
사이트 수 무제한 / 고객에게 제공 가능 / 구독이 끝나도 테마 영구 사용 / 30일 내 환불 가능

워드프레스 강좌