개발자를 위한 20개 이상의 WordPress 해킹
게시 됨: 2017-08-17오늘날 WordPress가 정말 인기 있는 것 중 하나는 이를 백만 가지 방법으로 확장할 수 있는 기회입니다. 예를 들어 플러그인으로 기능을 향상할 수 있는 반면 테마는 모양을 변경하는 데 적합합니다. 결과적으로 사이트는 블로깅, 전자 상거래 및 기타의 다양한 요구 사항을 충족하도록 조정됩니다.
그러나 조정을 통해 WordPress의 진정한 힘을 발휘하는 것은 어떻습니까? 이 킬러 핵으로 한 단계 더 커스터마이징을 해봅시다.
#1. 추천 이미지가 포함된 RSS 피드
WordPress가 RSS 피드에서 기본적으로 추천 이미지를 표시하는 것을 허용하지 않는 이유가 궁금하신가요? 당신이 블로거이거나 사람들이 구독하도록 조금 더 격려하고 싶다면 분명히 더 나은 조치입니다.
방법은 다음과 같습니다(테마의 functions.php 파일에 추가).
add_filter('the_content_feed', 'rss_post_thumbnail'); function rss_post_thumbnail($content) { global $post; if( has_post_thumbnail($post->ID) ) $content = '<p>' . get_the_post_thumbnail($post->ID, 'thumbnail') . '</p>' . $content; return $content; }
#2. "Facebook으로 보내기" 버튼 추가
블로거는 Facebook을 잠재 고객과 방문자의 거대한 데이터베이스로 봅니다. 맞습니다. 10억 명 이상의 사용자와 함께 트래픽 양을 실제로 늘릴 수 있습니다. 그렇다면 블로그에 추가하고 트래픽을 늘리기 위해 "Facebook으로 보내기" 버튼을 만드는 방법은 무엇입니까?
현재 테마에서 single.php 파일을 열고 이 코드를 루프에 붙여넣으면 됩니다.
<a href="http://www.facebook.com/sharer.php?u=<?php the_permalink();?>&t=<?php the_title(); ?>" target="blank">Share on Facebook</a>
완료!
#삼. 이미지 압축 제거
WordPress는 90%로 압축하기 때문에 100% 품질의 이미지를 제공하지 않는다는 것을 우리 모두 알고 있습니다. 이것이 많은 사람들에게 변경되어야 하는 것처럼 들리지 않을 수도 있지만, 우리 개발자들은 우리가 더 잘할 수 있다는 것을 알고 있습니다.
예를 들어 완벽한 품질을 보장하기 위해 플랫폼이 100% 원본 이미지를 표시하도록 강제할 수 있습니다. 현재 테마의 functions.php 파일에 다음을 추가해야 합니다.
add_filter( 'jpg_quality', 'high_jpg_quality' ); function high_jpg_quality() { return 100; }
#4. URL이 있는 사이트 참조
WordPress를 사용하면 사이트에 대한 바로 가기를 참조로 추가할 수 있습니다. 따라서 매번 URL을 입력할 필요가 없습니다. 완료 방법은 다음과 같습니다.
<?php bloginfo('url'); ?>
함수는 다음과 같이 사용됩니다.
<a href="<?php bloginfo('url'); >/about">About Our Company</a>
#5. 공개적으로 표시된 WordPress 버전을 제거하여 보안 향상
해커의 경우 WordPress 버전을 아는 것만으로도 일부 보안 허점을 악용하기에 충분합니다(특히 이전 버전의 경우: 파나마 문서 위반은 이전 설치로 인한 것입니다!). 이 정보를 숨기려면 다음 해킹을 사용할 수 있습니다.
<?php // Remove the WP version for extra WordPress Security function remove_wp_version(){ return ''; } add_filter('the_generator', 'remove_wp_version'); ?>
#6. 등록할 수 있는 사람의 수를 제한합니다.
많은 새로운 WordPress 사용자가 사용자 페이지를 방문하고 있다는 것을 알았다면 누구나 등록을 허용했을 것입니다. 설정을 확인하면 사용자가 RSS를 통해 구독하고 있음을 알 수 있습니다.
등록된 사용자가 너무 많은 것을 원하지 않으면 설정으로 이동하여 모든 사람이 멤버십 옵션을 사용하여 등록할 수 있도록 허용하는 확인란의 선택을 취소합니다. 그게 다야!
#7. 댓글에서 HTML을 비활성화하여 스팸 방지
스팸은 WordPress를 사용하는 많은 사람들에게 실질적인 문제입니다. 예를 들어, 블로거는 종종 댓글 섹션에서 의심스러운 사이트에 대한 링크를 발견합니다. 스팸이 포함된 게시물은 눈에 잘 띄지 않으므로 최대한 빨리 문제를 제거해야 합니다.
HTML을 비활성화하고 스팸 발송자가 링크 및 기타 방법을 포함하는 것을 방지하려면 다음 코드를 functions.php 파일에 추가해야 합니다.
// This will occur when the comment is posted function plc_comment_post( $incoming_comment ) { // convert everything in a comment to display literally $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']); // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] ); return( $incoming_comment ); } // This will occur before a comment is displayed function plc_comment_display( $comment_to_display ) { // Put the single quotes back in $comment_to_display = str_replace( ''', "'", $comment_to_display ); return $comment_to_display; } add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 ); add_filter( 'comment_text', 'plc_comment_display', '', 1 ); add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 ); add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 ); // This stops WordPress from trying to automatically make hyperlinks on text: remove_filter( 'comment_text', 'make_clickable', 9 );
#8. 이메일을 로그인으로 사용
이 믿을 수 없을 정도로 간단한 해킹은 보안 강화 측면에서 매우 유용할 수 있습니다. 해커의 경우 사용자 이름보다 이메일을 예측하는 것이 훨씬 더 어렵기 때문에 더 안전한 방법입니다.
#9. 홈페이지에 최근 게시물 표시
이것은 홈페이지에 최신 블로그 항목을 표시할 수 있는 블로거를 위한 훌륭한 해킹입니다. 블로그를 홈페이지로 만들 필요가 없습니다! 다음 코드만 사용해야 합니다.
<?php query_posts($query_string . '&showposts=5' ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="story"> <div class="story-content"> <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> <?php the_excerpt(); ?> <?php endwhile; endif; ?>
#10. 관리자 로고 변경
위에서 말했듯이 WordPress의 가장 큰 기능 중 하나는 사용자 정의입니다. 이 섹션은 이 범주에 속합니다. 다음 해킹을 통해 기본 관리자 로고 대신 클라이언트 로고를 표시할 수 있습니다. 플러그인이나 그 어떤 것도 필요하지 않습니다. 다음 코드를 functions.php에 삽입하기만 하면 됩니다.
function custom_admin_logo() { echo '<style type="text/css"> #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; } </style>'; } add_action('admin_head', 'custom_admin_logo');
#11. 로그인 페이지에서 오류 알림 삭제
이것은 로그인 페이지에서 오류 메시지를 제거하여 해커가 잘못된 로그인 또는 비밀번호에 대해 경고하는 것을 방지하는 또 다른 보안 해킹입니다. 다음 코드를 삽입하세요.
add_filter('login_errors',create_function('$a', "return null;"));
#12. 기본 HTML 편집기 설정
우리 목록의 다음 해킹을 통해 WordPress 사용자는 Visual Editor를 사용할지 HTML 편집기를 사용할지 결정할 수 있습니다. 특정 코드를 선호하는 경우 다음 코드를 사용하십시오(functions.php에 삽입).
# HTML Editor as default add_filter( 'ks29so_default_editor', create_function('', 'return "html";') ); # Visual Editor as default add_filter( 'ks29so_default_editor', create_function('', 'return "tinymce";') );
#13. 대시의 바닥글 텍스트 변경
이 해킹은 대시 바닥글에 일부 텍스트를 표시하여 고객을 즐겁게 놀라게 하려는 개발자에게 유용할 수 있습니다. 다음을 functions.php 파일에 삽입하기만 하면 됩니다.
function remove_footer_admin () { echo "Your own text"; } add_filter('admin_footer_text', 'remove_footer_admin');
#14. 위젯에 단축 코드 추가
다음 코드를 functions.php에 추가하여 WordPress에 유용한 단축 코드를 사용하도록 가르칠 수 있습니다.
add_filter('widget_text', 'do_shortcode');
#15. 대시 로고 사용자 정의
개발자가 클라이언트를 위해 웹 사이트를 사용자 정의할 수 있는 해킹이 한 번 더 있습니다. 설치를 개인화하려면 다음을 사용하여 대시에 로고를 추가할 수 있습니다.
add_action('admin_head', 'custom_logo'); function custom_logo() { echo ' <style type="text/css"><!-- #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; } --></style>'; }
#16. 예정된 게시물 나열
이 해킹은 방문자가 볼 수 있는 목록에 예정된 게시물을 예약하려는 블로거를 위한 것입니다. 테마의 아무 곳에나 다음 코드를 복사하여 붙여넣습니다.
<div id="zukunft"> <div id="zukunft_header"><p>Future events</p></div> <?php query_posts('showposts=10&post_status=future'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div > <p class><b><?php the_title(); ?></b><?php edit_post_link('e',' (',')'); ?><br /> <span class="datetime"><?php the_time('j. F Y'); ?></span></p> </div> <?php endwhile; else: ?><p>No future events scheduled.</p><?php endif; ?> </div>
#17. 적절한 URL
사이트 주소가 정확한 것이 중요합니다. esc_url() 함수를 사용하면 오류가 없는 상태로 유지할 수 있습니다.
$my_url = 'http://myawesomesite.com/?awesome=true'; $url = esc_url( $my_url );
#18: 게시물 수정 줄이기
WordPress에는 데이터베이스에 저장된 게시물 수정의 기본 제한이 없습니다. 시간이 지남에 따라 그 수는 극적으로 증가할 수 있습니다(이는 사이트에 아무런 도움이 되지 않음). 제한을 설정하려면 다음 코드를 wp-config.php 파일에 추가하십시오.
define( 'WP_POST_REVISIONS', 3 );
이 예에서는 제한을 3으로 설정합니다.
#19: 수정본 저장 비활성화
이것은 포스트 개정의 주제를 계속합니다. 비활성화하려면 다음 코드를 사용하십시오.
define( 'WP_POST_REVISIONS', -1 );
#20. 발췌문의 길이 변경
어떤 경우에는 표준 발췌문이 레이아웃에 가장 적합하지 않을 수 있습니다. 변경하는 것은 정말 쉽습니다. functions.php를 열고 삽입하십시오("20"은 길이 값입니다):
function custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
#21. Twitter 스타일 "시간 전" 날짜 추가
일부 개발자는 WordPress가 "시간 전" 형식을 사용하여 날짜를 표시할 수 있다는 것을 모릅니다. 루프 내 아무 곳에나 다음 코드를 붙여넣으면 됩니다.
Posted <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago';
해킹할 시간입니다!
이 간단하지만 편리한 해킹으로 WordPress의 힘을 발휘할 준비가 되셨습니까? 이를 시도함으로써 웹 사이트의 새로운 기능을 발견하고 기능을 확장하여 보다 기능적인 환경으로 만들 수 있습니다.
이러한 해킹의 이점을 확인한 후에는 콘텐츠 관리 작업을 보다 효과적으로 수행할 수 있습니다. 또한 그 중 일부는 특히 중요한 사이트 보안을 향상시킬 수 있습니다.
이 모든 것 – 단일 플러그인을 설치할 필요 없이! WordPress 사이트가 설치된 많은 플러그인에 의존한다는 점을 감안할 때 이러한 발전은 빠른 로딩 속도를 유지하는 데 매우 유용할 수 있습니다.
이 기사가 새로운 WordPress 해킹을 찾고 사이트를 개선하는 데 도움이 되기를 바랍니다.