29 WordPress Vylepší vylepšení příspěvků a stránek
Milujeme WordPress - ale ne všichni jsme připraveni se vyrovnat se všemi jeho výchozími nastaveními a displeji - zejména jak jsou zobrazeny příspěvky. Jak jsme se naučili, že jedinečnost záleží na webových stránkách značky, která dává návštěvníkům velký dojem, v průběhu těchto let bloggerů a vývojářů se snaží vyladit post displej, aby bylo co nejvíce unikátní.
Dnes se budeme zaměřovat na inteligentní vylepšení, které můžete provést, abyste vylepšili zobrazování příspěvků ve WordPressu. Nezáleží na tom, zda chcete změnit zobrazení příspěvku, abyste zvýšili spokojenost uživatelů nebo zvýšili příjmy nebo zobrazení stránek, ale je pravděpodobné, že je to způsob, jak to udělat bez pluginu, a většina zde uvedených úryvků se snadno implementuje, většinou jen je nutné zkopírovat a vložit dodaný kód.
Doufám, že najdete tyto vylepšení užitečné pro vaše projekty, užijte si přizpůsobení!
Přední konec
1. Změňte délku výňatku
Níže uvedené vylepšení změní délku výňatku, do které můžete přidat následující řádky kódu functions.php souboru s hodnotou 75 jako délku výňatku.
add_filter ('excerpt_length', 'my_excerpt_length'); funkce my_excerpt_length ($ len) return 75;
[Zdroj: Danny van Kooten]
2. Twitter styl “před časem” Termíny
Většina lidí neví, že WordPress má vestavěnou funkci pro zobrazení data pomocí “Čas Ago” formát a tento úryvek lze vložit do libovolné části smyčky, aby se zobrazilo datum ve formátu.
Vyslán[Zdroj: PHP Snippets]
3. Ve svém kanálu RSS zobrazte miniaturu příspěvku
Zavedeno ve WordPress 2.9,
the_post_thumbnail ()
funkce je velmi užitečná pro přidání a zobrazení miniatury připojené k příspěvku. Špatnou zprávou je, že neexistuje žádný vestavěný způsob zobrazení miniatury ve vašem RSS kanálu. Níže uvedená funkce tento problém vyřeší. Stačí jej vložit do svého functions.php soubor uložte a miniatura příspěvku se automaticky zobrazí ve vašem kanálu RSS.// zobrazit post miniatury ve funkci feeds diw_post_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = '". get_the_post_thumbnail ($ post-> ID). "". $ content; return $ content; add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Zdroj: Kopání do WordPressu]
4. Omezte vyhledávání pouze na názvy příspěvků
Tento úryvek můžete přidat do functions.php souboru WordPress Témata omezit hledání pouze na příspěvky.
funkce __search_by_title_only ($ search, & $ wp_query) if (empty ($ search)) return $ search; // přeskočit zpracování - žádný dotaz v dotazu $ q = & $ wp_query-> query_vars; // wp-includes / query.php řádek 2128 (verze 3.1) $ n =! empty ($ q ['přesné'])? ": '%'; $ searchand ="; foreach ((array) $ q ['search_terms'] jako $ termín) $ 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 (prázdný ($ q ['vět']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. = "NEBO ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; if (! empty ($ search)) $ search = "A ($ search)"; if (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password =") "; return $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2);[Zdroj: WpSnipp]
5. Na každém příspěvku zobrazte přírůstkové číslo
Níže uvedené vylepšení vám umožní zobrazit přírůstkové číslo na každém příspěvku a jeho implementace je velmi jednoduchá. Nejprve vložte následující funkci do svého functions.php soubor:
function updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> příspěvky. * FROM $ wpdb-> příspěvky WHERE $ wpdb-> posts.post_status = 'publish' AND $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ counts = 0; if ($ pageposts): foreach ($ pageposts jako $ post): setup_postdata ($ post); $ counts +; 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 ('delet_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Po dokončení můžete zobrazit číslo příspěvku s následujícím kódem. Všimněte si, že musí být použit uvnitř smyčky.
ID, 'incr_number', true); ?>[Zdroj: Alchymyth, přes WpRecipes]
6. Vyloučit příspěvek z WordPress Feed
Chcete vyloučit určité příspěvky ze svého zdroje? Tady je to pro tebe. Mějte prosím na paměti, že byste měli filtrovat pouze tam, kde chcete filtrovat; v našem příkladu je to v našem krmivu
$ wp_query-> is_feed
. Pokud byste to neudělali, filtr by se také zobrazoval na konci zad a tyto příspěvky nebudou zobrazeny na přehledu příspěvků.Funkce má dva parametry. Zadejte první parametr
$ kde
rozšíření řetězce SQL, který se postará o filtrování na základě ID. V závorkách pak musíte vložit ID míst, které chcete filtrovat.funkce fb_post_exclude ($ kde, $ wp_query = NULL) global $ wpdb; if (! $ wp_query) global $ wp_query; if ($ wp_query-> is_feed) // vyloučit příspěvek s id 40 a 9 $ kde. = "AND $ wpdb-> posts.ID NOT IN (40, 9)"; return $ where; add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Zdroj: WP Engineer]
7. Přesměrování na příspěvek, když vyhledávací dotaz vrátí jeden výsledek
Dejte tento úryvek do functions.php souboru vašeho WordPress tématu přesměrovat vyhledávání na post automaticky, když WordPress vrátí pouze jeden výsledek vyhledávání.
add_action ('template_redirect', 'single_result'); funkce single_result () if (is_search ()) global $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts ['0'] -> ID));[Zdroj: WpSnipp]
8. Automaticky vytvořit meta popis z the_content
Přidání tohoto fragmentu do functions.php soubor vašeho WordPress tématu automaticky vytvoří meta popis z vašeho WordPress post, striping všechny krátké kódy a značky. Také se ujistěte, že máte to header.php vašeho WordPress tématu nebo tento úryvek nebude fungovat.
function create_meta_desc () global $ post; if (! is_single ()) return; $ meta = strip_tags ($ post-> post_content); $ meta = strip_shortcodes ($ post-> post_content); $ meta = str_replace (pole ("n", "r", ""), ", $ meta); $ meta = substr ($ meta, 0, 125);"; add_action ('wp_head', 'create_meta_desc');[Zdroj: WpSnipp]
9. Automaticky nahrazovat slova prostřednictvím partnerských odkazů
Chcete-li automaticky nahradit slova přidruženými odkazy, jednoduše vložte níže uvedený kód do souboru functions.php soubor. Nezapomeňte zadat slova / odkazy podle níže uvedeného příkladu.
function replace_text_wps ($ text) $ replace = array (// 'WORD TO REPLACE' => 'VYMĚNIT SLOVO TUTO "teze" =>'teze',' studiopress '=>'studiopress„); $ text = str_replace (array_keys ($ replace), $ replace, $ text); return $ text; add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps');[Zdroj: catswhoblog.com]
10. Přidat “Přečtěte si více” Permalink na konec the_excerpt
Přidání tohoto fragmentu níže do functions.php souboru vašeho WordPress tématu přidá “Přečtěte si více” permalink na konci
the_excerpt
, skoro jako coobsah
dělá.function excerpt_readmore ($ more) return '… '. 'Přečtěte si více'. '"; add_filter ('excerpt_more', 'excerpt_readmore');[Zdroj: WpSnipp]
11. Zobrazit související příspěvky bez pluginu
Instalace níže uvedeného kódu bude vaše WordPress stránky zobrazit související příspěvky na základě aktuálních post tagů. Musíte ji umístit dovnitř single.php, nebo jednoduše kdekoli chcete zobrazit související příspěvky.
ID); if ($ tags) $ tag_ids = pole (); foreach ($ tags as $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => pole ($ post-> ID), 'showposts' => 5, // Počet souvisejících příspěvků, které budou zobrazeny. 'caller_get_posts' => 1); $ my_query = new wp_query ($ args); if ($ my_query-> has_posts ()) echo 'Související příspěvky
- "; while ($ my_query-> have_posts ()) $ my_query-> the_post (); ?>
- "; ?>
[Zdroj: Bin-Co]
12. Vytvořte si vlastní posty v postranním panelu
Nastavení widgetu sidebar pro zobrazení oblíbených příspěvků je velmi snadné. Stačí zkopírovat a vložit níže uvedený kód do svého sidebar.php soubor. Pokud potřebujete změnit počet zobrazených příspěvků, můžete změnit 5 na konci řádku 3 na libovolné číslo, které dáváte přednost.
populární příspěvky
- get_results ("SELECT comment_count, ID, post_title OD $ wpdb-> příspěvky ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ výsledek jako $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; if ($ commentcount! = 0) ?>
[Zdroj: Pro Blog Design]
13. Nastavte datum expirace data / času
Níže je užitečný kód, který můžete umístit do WordPress Témata, aby bylo možné vytvořit poštou vypršení platnosti na základě data a času. Upravte téma a nahraďte aktuální smyčku aplikace WordPress touto smyčkou „hacknut“:
$ expirationtime = get_post_custom_values ('expiration'); if (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ secondsbetween = strtotime ($ expirestring) -time (); if ($ secondsbetween> 0) // Například… the_title (); the_excerpt (); na konci; endif; ?>
Chcete-li vytvořit příspěvek s vypršením platnosti data a času, stačí vytvořit vlastní pole. Dát vypršení jako klíč a datum / čas (formát: mm / dd / rrrr 00:00:00) jako hodnotu. Po tomto časovém razítka se příspěvek nezobrazí.
[Zdroj: WpRecipes]
14. Seznam budoucích příspěvků
WordPress umožňuje zápis budoucích příspěvků a pro dosažení této funkce jednoduše vložte kód, kam chcete zobrazit budoucí příspěvky:
Budoucí události
Žádné budoucí události naplánovány.
[Zdroj: WpRecipes]
15. Zobrazte pouze AdSense pro návštěvníky vyhledávačů
Je možné zobrazit AdSense pro návštěvníky z výsledků vyhledávačů a zde je kód pro jeho dosažení, stačí vložit níže uvedený kód do motivu functions.php soubor.
function scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'hledání.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE jako $ source) if (strpos ($ ref, $ source)! == false) vrací true; return false;
$ SE
pole je místo, kde zadáte vyhledávače. Můžete přidat nový vyhledávač přidáním nového prvku do pole, pak stačí vložit následující kód kdekoli v šabloně, kde chcete, aby se vaše reklamy AdSense zobrazovaly, a je to hotovo! Reklamy se budou zobrazovat pouze návštěvníkům z výsledků vyhledávačů.
if (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSERT YOUR CODE ZDE
[Zdroj: Scratch99, přes WpRecipes]
Zadní konec
1. V editoru povolte více HTML tagů
Ve výchozím nastavení editor WordPress neumožňuje HTML tagy, které nejsou kompatibilní se standardem XHTML 1.0. Níže uvedený kód však nutí editor přijmout více značek. Můžete jej vložit do motivu functions.php soubor uložte a funkce je dobrá.
function fb_change_mce_options ($ initArray) // Řetězec oddělený čárkami od rozšiřuje tagy // Příkaz oddělený řetězec rozšířených prvků $ ext = 'pre [id | jméno | třída | styl], iframe [zarovnat | longdesc | název | šířka | výška | frameborder | rolování | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ ext; else $ initArray ['extended_valid_elements'] = $ ext; // možná; set tiny paramter Ověření_html // $ initArray ['authent_html'] = false; return $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Zdroj: WP Engineer]
2. Nastavte výchozí editor
Úryvek níže upravuje výchozí editor v aplikaci WordPress admin. Můžete jít s Vizuální editor, nebo si můžete vybrat Editor HTML, přidejte jeden z nich do functions.php soubor.
# Toto nastaví Visual Editor jako výchozí add_filter ('wp_default_editor', create_function (", 'return" tinymce ";')); # Nastaví HTML editor jako výchozí add_filter ('wp_default_editor', create_function (", 'return "html ";"));
[Zdroj: WP-Snippets]
3. Nastavte různé styly editorů pro různé typy příspěvků
S následující kód vložen do vašeho functions.php můžete nastavit různé styly editorů pro různé typy příspěvků. Budete muset přizpůsobit, v závislosti na vašem typu příspěvků, a nezapomeňte změnit názvy stylů také.
funkce my_editor_style () global $ current_screen; switch ($ current_screen-> post_type) případ 'post': add_editor_style ('editor-style-post.css'); přestávka; case 'page': add_editor_style ('editor-style-page.css'); přestávka; case 'portfolio': add_editor_style ('editor-style-portfolio.css'); přestávka; add_action ('admin_head', 'my_editor_style');
[Zdroj: WPStorm]
4. povolit nahrání více typů souborů
Z nějakého důvodu vám WordPress Uploader nedovolí nahrát určité typy souborů, například textmate .tmCommand. Pokud potřebujete nahrát tyto druhy souborů na vaše stránky WordPress, přichází funkční fragment, který vám to umožní, a stačí je vložit do svého functions.php soubor. Další typy souborů můžete také přidat přidáním na řádek 4, oddělené trubkou (|).
'application / octet-stream')); return $ mimes; ?> add_filter ('upload_mimes', 'addUploadMimes');
[Zdroj: pioupioum.fr, přes WpRecipes]
5. Povolte editor TinyMCE pro post the_excerpt
Uvedení následujícího úryvku do functions.php soubor vašeho WordPress tématu přidá editor TinyMCE do textarea příspěvku.
funkce tinymce_excerpt_js () ?>[Zdroj: WpSnipp]
6. Post formáty - více kreativní způsoby pro téma
Níže uvedená syntaxe uvádí některé z možných formátů příspěvků, které pak lze vybrat a použít přímo v článku, a co je třeba udělat, je umístit kód do functions.php souboru motivu.
add_theme_support ('post-formátů', pole ('aside', 'audio', 'image', 'video'));[Zdroj: WP Engineer]
7. Zobrazit příspěvek Thumbnail také v Upravit příspěvek a Přehled stránek
WordPress verze 2.9 zavedla funkci Post Thumbnail. Je to docela úžasné, a pokud chcete zobrazit miniaturu příspěvku také v Upravit příspěvek a Přehled stránek, můžete do Pluginu umístit následující kód nebo je zkopírovat do functions.php souboru.
if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // pro příspěvek a stránku add_theme_support ('post-thumbnails', array ('post', 'page')); funkce fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Miniatura'); návrat $ cols; funkce fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ column_name) // thumbnail of WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // obrázek z galerie $ attachments = get_children (pole ('post_parent' => $ post_id, 'post_type' => 'příloha', 'post_mime_type' => 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ přílohy) foreach ($ přílohy jako $ attachment_id => $ attachment) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true); if (isset ($ thumb) && $ thumb) echo $ palec; else echo __ ('None'); // pro příspěvky add_filter ('manage_posts_columns', 'fb_AddThumbColumn'); add_action ('manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // pro stránky add_filter ('manage_pages_columns', 'fb_AddThumbColumn'); add_action ('manage_pages_custom_column', 'fb_AddThumbValue', 10, 2);[Zdroj: WP Engineer]
8. Vytvořte vlastní zprávy o stavu příspěvků v aplikaci admin
Toto vylepšení bylo původně napsáno vývojářem jako způsob, jak klient zobrazit vlastní zprávy pro každý příspěvek, který autor vytvoří. V tomto případě by příspěvek mohl mít zprávu jako zamítnuta, chyba, zdroj, finále, atd. Zprávy můžete změnit pod komentářem kódu, Pole vlastních stavových zpráv, Jen proto, aby jste změnili názvy tříd také, které můžete po komentáři změnit, změnit barvu zpráv níže.
add_filter ('display_post_states', 'custom_post_state'); function custom_post_state (stavy $) globální $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); if ($ show_custom_state) $ státy [] = __ ('". $ show_custom_state [0]. "„); vrátí stavy $; 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; / * ----------------------------------- * / / * Pole vlastních stavových zpráv * / / * ----------------------------------- * / $ custom_status = array ('Pravopis', 'Kontrola', 'Chyby', 'Zdroj', 'Zamítnuto', 'Konečné',); echo '"; echo '"; echo '"; add_action ('save_post', 'save_status'); function save_status () global $ post; if (definováno ('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 '";[Zdroj: WpSnipp]
9. Nastavte maximální délku příspěvku
Přidání tohoto PHP kódu do functions.php soubor vašeho WordPress tématu nastaví maximální počet slov, které mohou být zobrazeny v rámci vašeho příspěvku post, docela šikovné vylepšení!
funkce maxWord ($ title) global $ post; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // nastavte na maximální počet slov wp_die (__ ('Chyba: váš příspěvek je nad maximální počet slov.')); add_action ('publish_post', 'maxWord');[Zdroj: WpSnipp]
10. Jak změnit písmo editoru WordPress
Nenávidět aktuální písmo používané v editoru WordPress? Je možné změnit na moderní písmo, jako je Monako nebo Consolas, stačí vložit kód do WordPress téma functions.php soubor.
function change_editor_font () echo “"; add_action (" admin_print_styles "," change_editor_font ");[Zdroj: shailan.com, přes WpRecipes]
11. Automatické přidání vlastního pole na publikování Post / Page
Fragment kódu pro automatickou instalaci vlastního pole na stránku nebo příspěvek, když jsou publikovány. Stačí přidat kód níže do vašeho functions.php soubor, který je umístěn ve složce motivu. Samozřejmě nezapomeňte změnit název vlastního pole.
add_action ('publish_page', 'add_custom_field_automatically'); add_action ('publish_post', 'add_custom_field_automatically'); funkce add_custom_field_automatically ($ post_ID) globální $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'field-name', 'vlastní hodnota', true);[Zdroj: wpCanyon]
12. Zbavte se nepoužívaných revizí
Zde přichází velmi šikovný dotaz SQL, který okamžitě odstraní všechny revize příspěvků, stejně jako meta s ním spojené. Musíte spustit následující dotaz v databázi WordPress a všechny revize (stejně jako meta související s ní) budou odstraněny z databáze. Důležitá poznámka zde, nezapomeňte provést zálohu databáze před spuštěním kódu.
ODSTRANIT a, b, c OD Wp_posts WHERE a.post_type = 'revision' VLEVO JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[Zdroj: Lesterchan.net]
13. Změňte délku výpisu v závislosti na kategorii
Chtěli jste někdy změnit délku výňatku na základě které kategorie? Zde přichází kód, který uděluje vaše přání. Jednoduše vložte kód do functions.php a nezapomeňte změnit ID kategorie na řádku 3!
add_filter ('excerpt_length', 'my_excerpt_length'); funkce my_excerpt_length ($ length) if (in_category (14)) return 13; else return 60;[Zdroj: WpRecipes]
14. Zakažte automatické ukládání příspěvků
Pokud byste z nějakého kritického důvodu chtěli zakázat funkci, která automaticky upraví váš příspěvek při úpravách v řídicím panelu, je to možné. Jednoduše otevřete svůj functions.php do souboru vložte následující kód:
function disableAutoSave () wp_deregister_script ('autosave'); add_action ('wp_print_scripts', 'disableAutoSave');[Zdroj: WpRecipes]
Poté můžete soubor uložit a WordPress nikdy automaticky neuloží příspěvek. Funkci můžete také získat zpět vymazáním kódu.
Více
Hledáte další přizpůsobení aplikace WordPress? Máme pro tebe víc!
- WordPress: 30 Užitečné triky a hacky
- WordPress: 30 více triků a hacků
- WordPress: 40 triky a hacky