29 게시물과 페이지를 개선하기위한 WordPress 개조
우리는 WordPress를 좋아하지만, 모든 사람들이 기본 설정 및 표시로 해결할 준비가되어 있지는 않습니다 - 특히 게시물이 표시되는 방식. 우리는 방문자가 큰 인상을주는 웹 사이트의 브랜딩에 독자성이 중요하다고 가르쳤으므로 블로거와 개발자는 포스트 디스플레이를 조정하여 가능한 한 고유하게 만들려고 노력 해왔다..
오늘 우리는 WordPress 포스트 디스플레이를 개선하기 위해 수행 할 수있는 스마트 한 개조에 중점을 둘 것입니다. 사용자 경험을 향상 시키거나 수익이나 페이지 노출을 높이기 위해 게시판을 변경하려는 경우 플러그인없이 플러그인을 사용하는 방법이 있으며 여기에 나열된 대부분의 스 니펫은 구현하기가 쉽습니다. 제공된 코드를 복사하여 붙여 넣기해야합니다..
이 비틀기가 프로젝트에 유용하고 커스터마이징을 즐기기를 바랍니다.!
프런트 엔드
1. 발췌 길이를 변경하십시오.
아래의 비틀기는 발췌 길이를 변경합니다. 다음 코드 줄을 추가하면됩니다. functions.php 값을 가진 파일 75 발췌 길이로.
add_filter ( 'excerpt_length', 'my_excerpt_length'); 함수 my_excerpt_length ($ len) return 75;
[출처 : Danny van Kooten]
2. 트위터 스타일 “전에” 날짜들
대부분의 사람들은 워드 프레스에 날짜를 표시하는 내장 함수가 있다는 것을 모릅니다. “전에” 형식을 사용하고 아래 스 니펫을 루프 내의 아무 곳이나 붙여 넣어 날짜 형식을 표시 할 수 있습니다.
게시 됨[출처 : PHP 스 니펫]
3. RSS 피드에 게시물 미리보기 이미지를 표시하십시오.
WordPress 2.9에서 소개 된
the_post_thumbnail ()
기능은 게시물에 첨부 된 축소판을 추가하고 표시하는 데 매우 유용합니다. 나쁜 소식은 RSS 피드에 미리보기 이미지를 표시하는 기본 제공 방법이 없다는 것입니다. 아래 함수는이 문제를 해결합니다. 그것을 귀하의 컴퓨터에 붙여 넣기 만하면됩니다. functions.php 파일로 저장하고 저장하면 게시물 미리보기 이미지가 자동으로 RSS 피드에 표시됩니다..// 피드에 미리보기 이미지를 표시합니다. function diw_post_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ content; add_filter ( 'the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ( 'the_content_feed', 'diw_post_thumbnail_feeds');[출처 : WordPress에 파고]
4. 제목 검색 만 검색하십시오.
이 스 니펫을 functions.php 당신의 워드 프레스 테마의 파일은 검색을 제목 만 게시하도록 제한합니다..
함수 __search_by_title_only ($ search, $ wp_query) if (empty ($ search))는 $ search를 반환합니다. // 스킵 처리 - 쿼리에서 검색어가 없습니다. $ q = & $ wp_query-> query_vars; // wp-includes / query.php 2128 (version 3.1) $ n =! empty ($ q [ 'exact'])? ": '%'; $ searchand ="; foreach ((array) $ q [ 'search_terms'] $ term) $ term = esc_sql (like_escape ($ term)); $ search. = "$ searchand ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; $ searchand = 'AND'; $ term = esc_sql (like_escape ($ q [ 's'])); 1 && $ q [ 'search_terms'] [0]! = $ q [ 's']) $ search. = ($ q [ '검색')] "OR ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; if (! empty ($ search)) $ search = "AND ($ search)"; $ search. = "AND ($ wpdb-> posts.post_password =") "; $ search; add_filter ( 'posts_search', '__search_by_title_only', 10, 2);[출처 : WpSnipp]
5. 각 게시물에 증가 숫자를 표시하십시오.
아래의 조정을 통해 각 게시물에 증가 숫자를 표시 할 수 있으며 구현은 매우 간단합니다. 먼저 다음 함수를 functions.php 파일:
function updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> posts. * FROM $ wpdb-> posts $ wpdb-> posts.post_status = '게시'AND $ wpdb-> posts.post_type = '게시'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ counts = 0; if ($ pageposts) : foreach ($ postposts $ post) : setup_postdata ($ post); $ counts ++; add_post_meta ($ post-> ID, 'incr_number', $ counts, true); update_post_meta ($ post-> ID, 'incr_number', $ counts); 종착역; 엔디프; add_action ( 'publish_post', 'updateNumbers'); add_action ( 'deleted_post', 'updateNumbers'); add_action ( 'edit_post', 'updateNumbers');완료되면 다음 코드로 게시물 번호를 표시 할 수 있습니다. 루프 내에서 사용되어야합니다..
ID, 'incr_number', true); ?>[출처 : Alchymyth, WpRecipes를 경유하여]
6. 워드 프레스 피드에서 게시물 제외
피드에서 특정 게시물을 제외 하시겠습니까? 여기 당신을위한 비틀기가 있습니다. 필터링 할 위치 만 필터링해야합니다. 이 예에서는 피드에 있습니다.
$ wp_query-> is_feed
. 그렇게하지 않으면 백엔드에서 필터가 실행되고 이러한 게시물은 게시물 개요에 표시되지 않습니다..이 함수에는 두 개의 매개 변수가 있습니다. 첫 번째 매개 변수를 지정합니다.
$ 어디서
SQL 문자열의 확장입니다.이 문자열은 해당 문자열을 기반으로 필터링을 처리합니다. 신분증. 그런 다음 대괄호 안에 소식의 ID, 어떤 것을 필터링하고 싶습니까?.함수 fb_post_exclude ($ where, $ wp_query = NULL) 글로벌 $ wpdb; if (! $ wp_query) 전역 $ wp_query; if ($ wp_query-> is_feed) // ID가 40 및 9 인 게시물을 제외합니다. $. = "AND $ wpdb-> posts.ID NOT IN (40, 9)"; 여기서 $를 반환합니다. add_filter ( 'posts_where', 'fb_post_exclude', 1, 2);[출처 : WP 엔지니어]
7. 검색 쿼리가 단일 결과를 반환 할 때 게시로 리디렉션
이 스 니펫을 functions.php WordPress 테마가 단일 검색 결과 만 반환 할 때 자동으로 게시물을 검색하도록 리디렉션하는 파일.
add_action ( 'template_redirect', 'single_result'); function single_result () if (is_search ()) 글로벌 $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts [ '0'] -> ID));[출처 : WpSnipp]
8. the_content에서 메타 설명을 자동으로 작성합니다.
이 스 니펫을 functions.php 파일을 WordPress 테마로 자동으로 작성하여 모든 단축 코드 및 태그를 스트립하는 WordPress 게시물의 메타 설명을 작성합니다. 또한 귀하가 header.php WordPress 테마 또는이 스 니펫이 작동하지 않습니다..
함수 create_meta_desc () global $ post; if (! is_single ()) return; $ meta = strip_tags ($ post-> post_content); $ meta = strip_shortcodes ($ post-> post_content); $ meta = str_replace (array ( "\ n", "\ r", "\ t") ", $ meta); $ meta = substr ($ meta, 0, 125); echo""; add_action ( 'wp_head', 'create_meta_desc');[출처 : WpSnipp]
9. 자동으로 제휴사 링크로 단어 바꾸기
제휴사 링크별로 단어를 자동으로 바꾸려면 아래 코드를 functions.php 파일. 아래 예제 코드와 같이 단어 / 링크를 입력하십시오..
function replace_text_wps ($ text) $ replace = array (// '대체 할 단어'=> '이 단어로 대체 단어'=> ''명제','studiopress '=>'studionress'); $ text = str_replace (array_keys ($ replace), $ replace, $ text); return $ text; add_filter ( 'the_content', 'replace_text_wps'); add_filter ( 'the_excerpt', 'replace_text_wps');[출처 : catswhoblog.com]
10. 추가 “더 읽기” permalink the_excerpt의 끝까지
이 스 니펫을 functions.php WordPress 테마의 파일에 “더 많은 것을 읽으십시오” 끝 부분의 permalink
the_excerpt
, 꽤 많이 좋아.the_content
~하다.함수 excerpt_readmore ($ more) return '... 신분증); if ($ tags) $ tag_ids = array (); foreach ($ tags는 $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ( 'tag__in'=> $ tag_ids, 'post__not_in'=> 배열 ($ post-> ID), 'showposts'=> 5, // 표시 될 관련 게시물의 수 'caller_get_posts'=> 1 ); $ my_query = new wp_query ($ args); if ($ my_query-> have_posts ()) echo '관련 게시물
[출처 : 빈 - 코]
12. 사이드 바에 자신 만의 인기있는 글 만들기
인기있는 게시물을 표시하는 사이드 바 위젯을 설정하는 것은 매우 쉽습니다. 아래 코드를 복사하여 붙여 넣기 만하면됩니다. sidebar.php 파일. 표시된 글의 수를 변경해야하는 경우 글을 변경할 수 있습니다. 5 3 호 말에 원하는 번호로.
인기 글
- get_results ( "SELECT comment_count, ID, post_title from $ wpdb-> posts ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ post로 $ 결과) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; if ($ Commentcount! = 0) ?>
[출처 : 프로 블로그 디자인]
13. 게시물 만료 날짜 / 시간 설정
아래는 WordPress 테마에 넣을 수있는 유용한 코드입니다. 날짜 및 시간을 기반으로 게시물 만료일을 만들 수 있습니다. 테마를 편집하고 현재 WordPress 루프를이 "해킹 된"루프로 바꿉니다.
$ expirationtime = get_post_custom_values ( '만료'); if (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ secondsbetween = strtotime ($ expirestring) -time (); if ($ seconds between> 0) // For example ... the_title (); the_excerpt (); endwhile; 엔디프; ?>
날짜 / 시간 만료가있는 게시물을 만들려면 사용자 정의 필드를 만들면됩니다. 주기 만료 키 및 날짜 / 시간 (형식 : mm / dd / yyyy 00:00:00)를 값으로 사용합니다. 특정 타임 스탬프가 지나면 게시물이 표시되지 않습니다..
[출처 : WpRecipes]
14. 향후 게시물 나열
WordPress에서는 향후 게시물을 나열 할 수 있으며이 기능을 사용하려면 향후 게시물을 표시 할 위치에 코드를 붙여 넣기 만하면됩니다.
향후 이벤트
향후 예정된 일정 없음.
[출처 : WpRecipes]
15. 엔진 방문자 만 검색하도록 애드 센스 표시
검색 엔진 결과에서 방문자에게 애드 센스를 표시 할 수 있습니다. 아래 코드를 주제에 붙여 넣기 만하면됩니다. functions.php 파일.
function scratch99_fromasearchengine () $ ref = $ _SERVER [ 'HTTP_REFERER']; $ SE = array ( '/ search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/ search / ','. yahoo. '); foreach ($ SE를 $ 소스로 사용) if (strpos ($ ref, $ source)! == false) return true; false를 반환합니다.
$ SE
배열은 검색 엔진을 지정하는 곳입니다. 배열에 새 요소를 추가하여 새 검색 엔진을 추가 한 다음 애드 센스 광고를 표시 할 위치에 다음 코드를 붙여 넣기 만하면됩니다. 광고는 검색 엔진 결과의 방문자에게만 게재됩니다..
if (function_exists ( 'scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) 여기에 코드 삽입
[출처 : Scratch99, WpRecipes를 통해]
백 엔드
1. 편집기에서 더 많은 HTML 태그 허용
기본적으로 WordPress 편집기는 XHTML 1.0 표준과 호환되지 않는 HTML 태그를 허용하지 않습니다. 그러나 아래에 표시된 코드는 편집기가 더 많은 태그를 받아들이도록합니다. 테마의 테마에 붙여 넣을 수 있습니다. functions.php 파일을 저장하고 저장하면 기능이 좋습니다..
함수 fb_change_mce_options ($ initArray) // 쉼표로 구분 된 문자열 od extendes tags // 명령으로 구분 된 확장 된 요소의 문자열 $ ext = 'pre [id | name | 클래스 | 스타일] iframe [align | longdesc | name | width | height | frameborder | 스크롤 | marginheight | marginwidth | src] '; if (isset ($ initArray [ 'extended_valid_elements'])) $ initArray [ 'extended_valid_elements']. = ','. $ ext; else $ initArray [ 'extended_valid_elements'] = $ ext; // 아마도; 작은 매개 변수를 설정하십시오. verify_html // $ initArray [ 'verify_html'] = false; return $ initArray; add_filter ( 'tiny_mce_before_init', 'fb_change_mce_options');
[출처 : WP 엔지니어]
2. 기본 편집기 설정
아래의 스 니펫은 WordPress 관리자의 기본 편집기를 수정합니다. 함께 갈 수 있습니다. 비주얼 에디터, 또는 HTML 편집기, 그 중 하나를 functions.php 파일.
# 이것은 기본으로 add_filter ( 'wp_default_editor', create_function ( ","return "tinymce"; ')); # 이것은 기본 편집기로 add_filter ('wp_default_editor ', create_function ( ",'return"html "; '));
[출처 : WP-Snippets]
3. 다양한 게시 유형에 대해 서로 다른 편집기 스타일 시트 설정
다음 코드를 붙여 넣으면 functions.php 파일을 사용하면 다른 게시 유형에 대해 서로 다른 편집기 스타일 시트를 설정할 수 있습니다. 게시 유형에 따라 수정해야하며, 게시 유형을 변경해야합니다. 스타일 시트 이름 게다가.
function my_editor_style () global $ current_screen; switch ($ current_screen-> post_type) case 'post': add_editor_style ( 'editor-style-post.css'); 단절; case 'page': add_editor_style ( 'editor-style-page.css'); 단절; case 'portfolio': add_editor_style ( 'editor-style-portfolio.css'); 단절; add_action ( 'admin_head', 'my_editor_style');
[출처 : WPStorm]
4. 더 많은 파일 형식 업로드 허용
특정 이유로 WordPress Uploader에서는 Textmate와 같은 특정 파일 형식을 업로드 할 수 없습니다. .tmCommand. WordPress 사이트에 이러한 종류의 파일을 업로드해야하는 경우 여기에서 기능을 수행 할 수있는 스 니펫이 제공됩니다. functions.php 파일. 또한 파일 유형을 4 행에 추가하고 파이프 (|)로 구분하여 더 추가 할 수 있습니다.
'application / octet-stream')); $ mimes를 반환하십시오. ?> add_filter ( 'upload_mimes', 'addUploadMimes');
[출처 : pioupioum.fr, WpRecipes를 경유하여]
5. the_excerpt 게시를위한 TinyMCE 편집기 사용
다음 스 니펫을 functions.php 파일을 WordPress 테마의 게시물 발췌 텍스트 영역에 TinyMCE 편집기를 추가합니다.
함수 tinymce_excerpt_js () ?>[출처 : WpSnipp]
6. 포스트 형식 - 테마를위한 더 창의적인 방법
아래의 구문은 기사에서 직접 선택하여 사용할 수있는 몇 가지 가능한 게시 형식을 제공하며 사용자가해야 할 일은 코드를 functions.php 당신 테마의 파일.
add_theme_support ( 'post-formats', array ( 'aside', 'audio', 'image', 'video'));[출처 : WP 엔지니어]
7. 편집 미리보기 및 페이지 개요에서 미리보기 미리보기 표시
WordPress 버전 2.9에서는 미리보기 게시 기능을 도입했습니다. 그것은 매우 멋지 네요. 또한 게시물 편집 및 페이지 개요에 게시 미리보기 이미지를 표시하려면 다음 코드를 플러그인에 넣거나 functions.php 테마 파일.
if (function_exists ( 'fb_AddThumbColumn') && function_exists ( 'add_theme_support')) // 게시물 및 페이지 add_theme_support ( 'post-thumbnails', array ( 'post', 'page')); 함수 fb_AddThumbColumn ($ cols) $ cols [ '축소판]] = __ ('축소판 그림 '); return $ cols; 함수 fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ 높이 = (int) 35; if ( 'thumbnail'== $ column_name) // WP 2.9의 축소판 그림 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); / / 갤러리의 이미지 $ attachments = get_children (array ( 'post_parent'=> $ post_id, 'post_type'=> '첨부 파일', 'post_mime_type'=> 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ 첨부 파일) foreach ($ 첨부 파일 $ attach_id => $ 첨부 파일) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true); if (isset ($ thumb) && $ thumb) echo $ thumb; else echo __ ( 'None'); // 게시물에 대해 add_filter ( 'manage_posts_columns', 'fb_AddThumbColumn'); add_action ( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // 페이지의 경우 add_filter ( 'manage_pages_columns', 'fb_AddThumbColumn'); add_action ( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2);[출처 : WP 엔지니어]
8. admin에서 사용자 정의 게시 상태 메시지 작성
이 비틀기는 원래 개발자가 작성자가 작성한 각 게시물에 대한 사용자 정의 메시지를 표시하는 방법으로 작성되었습니다. 이 경우 게시물에 다음과 같은 메시지가있을 수 있습니다. 거부 된, 오류, 출처, 결정적인, 코드의 주석 바로 아래에서 메시지를 변경할 수 있습니다., 사용자 정의 상태 메시지의 배열, 당신이 클래스 이름 또한 주석 뒤에 주석을 변경할 수 있습니다., 아래의 메시지 색상을 변경하십시오..
add_filter ( 'display_post_states', 'custom_post_state'); function custom_post_state ($ states) global $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); if ($ show_custom_state) $ states [] = __ ( ''. $ show_custom_state [0]. ''); 반환 $ states; add_action ( 'post_submitbox_misc_actions', 'custom_status_metabox'); function custom_status_metabox () global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ custom [ "_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * 사용자 정의 상태 메시지의 배열 * / / * ----------------------------------- * / $ custom_status = array ( '맞춤법', '리뷰', '오류', '출처', '거부 됨', '최종'); 에코 ''; 에코 ''; 에코 ''; add_action ( 'save_post', 'save_status'); 함수 save_status () 글로벌 $ 게시물; if (정의 된 ( 'DOING_AUTOSAVE') && DOING_AUTOSAVE) return $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST [ "status"]); add_action ( 'admin_head', 'status_css'); function status_css () echo '';[출처 : WpSnipp]
9. 최대 게시물 제목 길이 설정
이 PHP 코드를 functions.php WordPress 테마의 파일은 게시물 제목 내에 표시 할 수있는 최대 단어 수를 설정합니다.!
function maxWord ($ title) 글로벌 $ 포스트; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // 최대 단어 수 wp_die (__ ( '오류 : 게시물 제목이 최대 단어 수를 초과했습니다.')); add_action ( 'publish_post', 'maxWord');[출처 : WpSnipp]
10. WordPress 편집기 글꼴을 변경하는 방법
WordPress 편집기에서 사용되는 현재 글꼴을 싫어합니까? Monaco 또는 Consolas와 같은 현대 글꼴로 변경이 가능하며 WordPress 테마에 코드를 붙여 넣기 만하면됩니다. functions.php 파일.
함수 change_editor_font () echo ""; add_action ("admin_print_styles ","change_editor_font ");[출처 : shailan.com, WpRecipes를 경유하여]
11. 게시 / 페이지 게시시 사용자 정의 필드 자동 추가
페이지 또는 게시가 게시 될 때 자동으로 사용자 정의 필드를 설치하기위한 코드 스 니펫. 아래에 코드를 추가하면됩니다. functions.php 파일은 테마의 폴더 안에 있습니다. 물론 변경하는 것을 잊지 마십시오. 사용자 정의 필드 이름.
add_action ( 'publish_page', 'add_custom_field_automatically'); add_action ( 'publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically ($ post_ID) 글로벌 $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'field-name', '사용자 정의 값', true);[출처 : wpCanyon]
12. 사용하지 않은 게시 버전을 제거하십시오.
여기에 모든 게시물 개정판을 즉시 삭제할뿐만 아니라 연결된 메타를 삭제하는 매우 편리한 SQL 쿼리가 제공됩니다. 당신은 당신의 워드 프레스 데이터베이스에서 다음 쿼리를 실행해야하고 모든 리비전 (메타 관련)뿐만 아니라 데이터베이스에서 삭제됩니다. 한 가지 중요한 사항은 코드를 실행하기 전에 데이터베이스를 백업해야합니다..
(a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[출처 : Lesterchan.net]
13. 범주에 따라 발췌 길이를 변경하십시오.
당신이 속한 카테고리에 따라 발췌 길이를 수정하고 싶습니까? 여기에 당신의 소원을 부여하는 코드가 있습니다. 코드를 functions.php 파일을 수정해야합니다. 카테고리 ID 3 호선!
add_filter ( 'excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ length) if (in_category (14)) return 13; else return 60;[출처 : WpRecipes]
14. 게시물 자동 저장 사용 안함
대시 보드에서 수정하는 동안 게시물을 자동 저장하는 기능을 사용 중지하려는 중요한 이유가있는 경우 가능합니다. 간단하게 functions.php 파일을 만들고 다음 코드를 파일에 붙여 넣습니다.
function disableAutoSave () wp_deregister_script ( 'autosave'); add_action ( 'wp_print_scripts', 'disableAutoSave');[출처 : WpRecipes]
그런 다음 파일을 저장할 수 있으며 WordPress는 절대로 게시물을 자동 저장하지 않습니다. 코드를 삭제하여 함수를 다시 가져올 수도 있습니다..
더
더 많은 WordPress의 사용자 정의 기능을 찾으십니까? 우리는 당신을 위해 더있어.!
- WordPress : 30 유용한 트릭 및 해킹
- WordPress : 30 더 많은 트릭과 해킹
- WordPress : 40 트릭과 해킹