29 Ощипвания на WordPress за подобряване на публикациите и страниците
Ние обичаме WordPress - но не всички от нас са готови да се съгласят с всичките си настройки по подразбиране и дисплеи - особено как се показват публикациите. Тъй като сме научени, че уникалността е от значение за марката на уебсайта, която дава на посетителите голямо впечатление, през тези години блогърите и разработчиците се стремят да променят дисплея на пощата, за да го направят възможно най-уникален..
Днес ще се съсредоточим върху интелигентните настройки, които можете да извършите, за да подобрите дисплея на WordPress. Независимо дали искате да промените дисплея на публикацията си, за да подобрите потребителското изживяване или да увеличите приходите или импресиите на страницата, има вероятност да има начин да го направите без приставка, а повечето от изброените тук фрагменти са лесни за прилагане, в повечето време трябва да копирате и поставите предоставения код.
Надявам се, че ще намерите тези ощипвам полезни за вашите проекти, да се насладите на персонализиране!
Преден край
1. Променете дължината на извадката
Настройката по-долу ще промени дължината на извадката, която можете просто да добавите към следните редове от код functions.php файл, със стойността 75 като дължина на откъса.
add_filter ('excerpt_length', 'my_excerpt_length'); функция my_excerpt_length ($ len) return 75;
[Източник: Дани ван Кутен]
2. Twitter стил “преди време” дати
Повечето хора не знаят, че WordPress има вградена функция за показване на датата с помощта на “Време преди” формат, а фрагментът по-долу може да се постави навсякъде в цикъла, за да се покаже датата с формата.
Публикувано[Източник: PHP фрагменти]
3. Покажете миниатюрата на публикацията във вашата RSS емисия
Въведена в WordPress 2.9
the_post_thumbnail ()
функцията е много полезна за добавяне и показване на миниатюра, прикрепена към публикация. Лошата новина е, че няма вграден метод за показване на миниатюрата във вашата RSS емисия. Функцията по-долу ще реши този проблем. Просто го поставете в functions.php файл, запазете го и миниатюрата на публикацията автоматично ще се покаже във вашата RSS емисия.// покажете миниатюри на публикациите във функцията на емисиите diw_post_thumbnail_feeds ($ content) global $ post; ако (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). "'. съдържание $; return $ content; add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Източник: Digging in WordPress]
4. Ограничете търсенето само за публикуване на заглавия
Можете да добавите този фрагмент към functions.php файл на вашите WordPress теми, за да ограничите търсенето само до заглавия.
функция __search_by_title_only ($ search, & $ wp_query) if (празен ($ search)) върне $ search; // прескачане на обработка - няма заявка за търсене в заявката $ q = & $ wp_query-> query_vars; // wp-includes / query.php ред 2128 (версия 3.1) $ n =! empty ($ q ['exact'])? ":"% '; $ searchand = "; foreach ((масив) $ 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'])); if (празно ($ q ['sentence']) && брой ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. "OR ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; if (! empty ($ search)) $ search = "AND ($ search)"; ако (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password =") "; върнете $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2);[Източник: WpSnipp]
5. Показвайте нарастващ номер за всяка публикация
Настройката по-долу ще ви позволи да показвате увеличаващ се брой за всяка публикация и прилагането му е доста просто. Първо поставете следната функция във Вашата functions.php файл:
функция updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> posts. * ОТ $ wpdb-> posts WHERE $ wpdb-> posts.post_status = 'публикувай' И $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ counts = 0; if ($ pageposts): foreach ($ pageposts като $ post): setup_postdata ($ post); $ брои ++; add_post_meta ($ post-> ID, 'incr_number', $ counts, true); update_post_meta ($ post-> ID, 'incr_number', $ counts); endforeach; endif; add_action ('publish_post', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');След като приключите, можете да покажете номера на публикацията със следния код. Имайте предвид, че тя трябва да се използва в цикъла.
ID, "incr_number ', вярно); ?>[Източник: Alchymyth, чрез WpRecipes]
6. Изключете публикация от емисия на WordPress
Искате ли да изключите определени публикации от емисията си? Ето ви ощипването. Моля, имайте предвид, че трябва да филтрирате само къде искате да филтрирате; в нашия пример тя е в нашата храна
$ Wp_query-> is_feed
. Ако не сте го направили по този начин, филтърът ще работи и в задния ви край и тези публикации няма да се показват в общия пост.Функцията има два параметъра. Вие давате първия параметър
$ където
разширение на SQL низ, който ще се погрижи за филтрирането на базата на документ за самоличност. След това в скобите трябва да вмъкнете Идентификационни номера на публикациите, които искате да филтрирате.функция fb_post_exclude ($ където, $ wp_query = NULL) global $ wpdb; ако (! $ wp_query) глобален $ wp_query; if ($ wp_query-> is_feed) // изключвате публикация с id 40 и 9 $ where. = "И $ wpdb-> posts.ID NOT IN (40, 9)"; върне $ where; add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Източник: WP Engineer]
7. Пренасочване към пост, когато заявката за търсене върне единичен резултат
Поставете този фрагмент в functions.php файл на вашата WordPress тема, за да пренасочите търсенето си към поста автоматично, когато WordPress връща само един резултат от търсенето.
add_action ('template_redirect', 'single_result'); функция single_result () if (is_search ()) global $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts ['0'] -> ID));[Източник: WpSnipp]
8. Автоматично създаване на мета описание от съдържанието
Добавяне на този фрагмент към 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 (масив ("" "", "" r "," "),", $ meta); $ meta = substr ($ meta, 0, 125);"; add_action ('wp_head', 'create_meta_desc');[Източник: WpSnipp]
9. Автоматично замествайте думите от партньорски връзки
За да замените думите от партньорски връзки автоматично, просто поставете кода по-долу в functions.php файл. Не забравяйте да въведете вашите думи / връзки, както е показано в примера по-долу.
function replace_text_wps ($ text) $ replace = array (// 'WORD TO REPLACE' => 'ЗАМЕНИ СЛОВОТО С ТОЗИ' Тезата '=>'теза',' studiopress '=>'StudioPress'); $ text = str_replace (array_keys ($ замени), $ 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 тема ще добави a “Прочетете още” Постоянна връзка в края на
the_excerpt
, много прилича на товасъдържанието
прави.функция excerpt_readmore ($ more) return '… "Прочетете още". '"; add_filter ('excerpt_more', 'excerpt_readmore');[Източник: WpSnipp]
11. Покажете съответните публикации без приставка
Инсталиране на кода по-долу ще направи вашия сайт WordPress показват, свързани с мнения, въз основа на текущия пост маркер (и). Трябва да го поставите вътре single.php, или просто навсякъде, където искате да покажете съответните публикации.
ДОКУМЕНТ ЗА САМОЛИЧНОСТ); if ($ tags) $ tag_ids = масив (); foreach ($ тагове като $ 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 = нов wp_query ($ args); ако ($ my_query-> have_posts ()) echo 'Подобни публикации
- "; докато ($ my_query-> have_posts ()) $ my_query-> the_post (); ?>
- "; ?>
[Източник: Bin-Co]
12. Създайте свои собствени популярни публикации в страничната лента
Създаването на widget за страничната лента за показване на популярни публикации е много лесно. Просто копирайте и поставете кода по-долу в sidebar.php файл. Ако трябва да промените броя показвани публикации, можете да промените 5 в края на ред 3 към всеки номер, който предпочитате.
Популярни публикации
- get_results ("SELECT comment_count, ID, post_title ОТ $ wpdb-> публикации ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ result като $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; ако ($ commentcount! = 0) ?>
[Източник: Дизайн на Про блог]
13. Задайте дата / час на изтичане на пост
По-долу е полезен код, който можете да поставите във вашите WordPress теми, за да имате възможност за създаване на изтичане на пост въз основа на дата и час. Редактирайте темата си и заменете текущия си WordPress цикъл с този "хакнат" цикъл:
$ expirationtime = get_post_custom_values ('изтичане'); if (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ secondsbetween = strtotime ($ expirestring) -time (); if ($ secondsbetween> 0) // За пример… the_title (); the_excerpt (); крайно време; endif; ?>
За да създадете публикация с изтичане на датата / часа, можете просто да създадете персонализирано поле. давам изтичане като ключ и дата / час (формат: mm / dd / yyyy 00:00:00) като стойност. Публикацията няма да се показва след този конкретен времеви знак.
[Източник: WpRecipes]
14. Списък на бъдещите постове
WordPress позволява изброяване на бъдещи публикации и за да постигнете тази функция, просто поставете кода на мястото, където искате да се показват бъдещи публикации:
Бъдещи събития
Няма планирани бъдещи събития.
[Източник: WpRecipes]
15. Покажете само AdSense на посетителите на търсачките
Възможно е да се показва AdSense на посетителите от резултатите от търсещите машини, и ето кода, за да го постигнете, просто поставете кода по-долу в темата functions.php досие.
функция scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = масив ('/ search?', 'Images.google.', 'Web.info.com', 'search.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE като $ source) if (strpos ($ ref, $ source)! == false) връща true; return false;
$ SE
масив е мястото, където определяте търсачките. Можете да добавите нова търсачка, като добавите нов елемент към масива, след което просто поставете следния код навсякъде в шаблона, където искате да се показват рекламите Ви от AdSense, и това е направено! Рекламите ще се показват само на посетителите от резултатите от търсещите машини.
if (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSERT YOUR CODE HERE
[Източник: Scratch99, чрез WpRecipes]
Обратен край
1. Позволете повече HTML тагове в редактора
По подразбиране редакторът на WordPress не позволява HTML тагове, които не отговарят на стандарта XHTML 1.0. Въпреки това, показаният по-долу код ще принуди редактора да приеме повече маркери. Можете да го поставите в темата си functions.php файл, запазете го и функцията е добра.
функция fb_change_mce_options ($ initArray) // Поредица, разделена със запетая от разширяващи се маркери // Команден отделен низ от разширени елементи $ ext = 'pre [id | name | class | style], iframe [подравняване | longdesc | име | ширина | височина | FRAMEBORDER | превъртане | marginheight | marginwidth | SRC] "; if (isset ($ initArray ['extended_valid_elements']))) $ initArray ['extended_valid_elements']. = ','. $ Вътр; else $ initArray ['extended_valid_elements'] = $ ext; // може би; set tiny paramter check_html // $ initArray ['verify_html'] = false; return $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Източник: WP Engineer]
2. Задайте редактор по подразбиране
Фрагментът по-долу променя редактора по подразбиране в WordPress admin. Можете да отидете с Визуален редактор, или можете да изберете Редактор на HTML, просто добавете един от тях в functions.php досие.
# Това поставя Visual Editor като подразбиране add_filter ('wp_default_editor', create_function ("," return "tinymce"; ')); # Това задава HTML редактора като default add_filter (' wp_default_editor ', create_function ("," return "html ";"));
[Източник: WP-Snippets]
3. Задайте различни стилове за редактор за различни типове публикации
Следният код се поставя във вашия functions.php файл, можете да настроите различни стилове за редактори за различни типове публикации. Ще трябва да го адаптирате, в зависимост от типовете ви, и не забравяйте да промените имена на стилове също.
функция my_editor_style () глобална $ current_screen; switch ($ current_screen-> post_type) случай '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. Активирайте TinyMCE редактора за пост the_excerpt
Поставяне на следния фрагмент в functions.php Файлът на Вашата WordPress тема ще добави TinyMCE редактора в текстовата област на пощата.
функция tinymce_excerpt_js () ?>[Източник: WpSnipp]
6. Пост формати - по-творчески начини за тема
Синтаксисът по-долу дава някои от възможните формати на публикации, които след това могат да бъдат избрани и използвани директно в статията, а това, което трябва да направите, е да поставите кода във вашия functions.php файл на вашата тема.
add_theme_support („пост-формати“, масив („настрана“, „аудио“, „изображение“, „видео“));[Източник: WP Engineer]
7. Показване на миниатюра на публикацията също в редактиране на публикация и страница
WordPress версия 2.9 въвежда функцията на Thumbnail на публикацията. Това е доста страхотно и за да се покаже миниатюрата на публикациите и в Редактиране на публикацията и страницата, можете да поставите следния код в приставката или да ги копирате в functions.php файл на темата.
if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // за публикация и страница add_theme_support ('post-thumbnails', array ('post', 'page')); функция fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Thumbnail'); return $ cols; функция fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ column_name) // миниатюра на WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // image from gallery $ attachments = get_children (масив ('post_parent' => $ post_id, 'post_type' => 'прикачен файл', 'post_mime_type' => 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, масив ($ width, $ height), true); elseif ($ attachments) foreach ($ attachments като $ attachment_id => $ attachment) $ thumb = wp_get_attachment_image ($ attachment_id, масив ($ width, $ height), true); if (isset ($ thumb) && $ thumb) echo $ thumb; else echo __ ('Няма'); // за публикации 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 Engineer]
8. Създаване на потребителски съобщения за състоянието на публикациите в admin
Тази настройка първоначално е била написана от разработчика като начин за клиент да покаже персонализирани съобщения за всяка публикация, която авторът създава. В този случай публикацията може да има съобщение като отхвърлена, грешка, източник, финал, Можете да променяте съобщенията точно под коментара на кода, Масив от потребителски съобщения за състоянието, само за да сте сигурни, че сте променили имена на класове също, което можете да промените след коментара, променете цвета на съобщенията по-долу.
add_filter ('display_post_states', 'custom_post_state'); функция custom_post_state ($ states) глобална $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); ако ($ show_custom_state) $ states [] = __ (''. $ show_custom_state [0]. "'); връщане $ състояния; add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); функция 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 () global $ post; if (дефиниран ('DOING_AUTOSAVE') && DOING_AUTOSAVE) върнете $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); add_action ('admin_head', 'status_css'); функция status_css () echo '";[Източник: WpSnipp]
9. Задайте максимална дължина на заглавието
Добавяне на този PHP код в functions.php Файлът на Вашата WordPress тема ще определи максимален брой думи, които могат да бъдат показани в заглавието на вашата публикация, доста удобни настройки!
функция maxWord ($ title) global $ post; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // задайте това на максималния брой думи wp_die (__ ('Грешка: заглавието на публикацията е над максималния брой думи.')); add_action ('publish_post', 'maxWord');[Източник: WpSnipp]
10. Как да промените шрифта на WordPress редактора
Мрази текущия шрифт, използван в редактора на WordPress? Възможно е да бъде променен на модерен шрифт като Монако или Консолас, просто поставете кода във вашата тема на 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'); функция add_custom_field_automatically ($ post_ID) global $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'field-name', 'custom value', true);[Източник: wpCanyon]
12. Отървете се от неизползваните корекции на пост
Тук идва много полезна SQL заявка, която ще изтрие всички ревизии на постове незабавно, както и мета свързаните с нея. Трябва да изпълните следната заявка в базата данни на WordPress и всички ревизии (както и свързаните с нея мета) ще бъдат изтрити от базата данни. Важна бележка тук, не забравяйте да направите резервно копие на вашата база данни, преди да стартирате кода.
DELETE a, b, c FROM wp_posts a КЪДЕ a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (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'); функция my_excerpt_length ($ length) if (in_category (14)) return 13; else връщане 60;[Източник: WpRecipes]
14. Изключете автоматичното запазване на публикациите
Ако по някаква критична причина искате да деактивирате функцията, която автоматично запазва публикацията ви, докато го редактирате в таблото, това е възможно. Просто отворете functions.php Файл и поставете следния код във файла:
функция disableAutoSave () wp_deregister_script ('autosave'); add_action ('wp_print_scripts', 'disableAutoSave');[Източник: WpRecipes]
След това можете да запишете файла, а WordPress никога няма да запази автоматично публикация. Можете също така да получите функцията назад, като изтриете кода.
| Повече ▼
Търсите повече неща за персонализиране на WordPress? Имаме повече за вас!
- WordPress: 30 полезни трика и хакове
- WordPress: 30 повече трикове и хакове
- WordPress: 40 трикове и хакове