Główna » WordPress » 29 usprawnień WordPressa w celu ulepszenia postów i stron

    29 usprawnień WordPressa w celu ulepszenia postów i stron

    Uwielbiamy WordPress - ale nie wszyscy z nas są gotowi do rozliczenia się ze wszystkimi domyślnymi ustawieniami i wyświetlaczami - szczególnie jak wyświetlane są posty. Ponieważ uczymy się, że wyjątkowość ma znaczenie dla marki witryny, co daje odwiedzającym ogromne wrażenie, przez te wszystkie lata blogerzy i programiści starali się ulepszać wyświetlanie postów, aby uczynić go tak wyjątkowym, jak to możliwe..

    Dzisiaj skupimy się na inteligentnych poprawkach, które można wykonać, aby poprawić wyświetlanie postów w WordPress. Niezależnie od tego, czy chcesz zmienić sposób wyświetlania postów, aby zwiększyć zadowolenie użytkowników, czy zwiększyć przychody lub wyświetlenia strony, istnieje szansa, że ​​można to zrobić bez wtyczki, a większość wymienionych tutaj fragmentów jest łatwa do wdrożenia, w większości przypadków tylko musisz skopiować i wkleić podany kod.

    Mam nadzieję, że znajdziesz te usprawnienia przydatne dla swoich projektów, ciesz się dostosowaniem!

    Front End

    1. Zmień długość fragmentu

    Ulepszenie poniżej zmieni długość fragmentu, którą możesz po prostu dodać następujące linie kodu do swojego functions.php plik z wartością 75 jako długość fragmentu.

     add_filter ('excerpt_length', 'my_excerpt_length'); funkcja my_excerpt_length ($ len) return 75;  

    [Źródło: Danny van Kooten]

    2. Styl Twittera “czas temu” Daktyle

    Większość ludzi nie wie, że WordPress ma wbudowaną funkcję wyświetlania daty za pomocą “Czas temu” format, a poniższy fragment można wkleić do dowolnego miejsca w pętli, aby wyświetlić datę w formacie.

     Wysłany  

    [Źródło: PHP Snippets]

    3. Wyświetl miniaturkę postu w swoim kanale RSS

    Wprowadzony w WordPress 2.9, the the_post_thumbnail () Funkcja jest bardzo przydatna do dodawania i wyświetlania miniatur dołączonych do posta. Złą wiadomością jest brak wbudowanej metody wyświetlania miniatury w kanale RSS. Poniższa funkcja rozwiąże ten problem. Po prostu wklej go do swojego functions.php plik, zapisz go, a miniatura posta zostanie automatycznie wyświetlona w Twoim kanale RSS.

     // pokaż miniatury postów w feeds function 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');

    [Źródło: Kopanie w WordPressie]

    4. Ogranicz wyszukiwanie, aby publikować tylko tytuły

    Możesz dodać ten fragment do functions.php plik motywów WordPress, aby ograniczyć wyszukiwanie do publikowania tylko tytułów.

     funkcja __search_by_title_only ($ search, & $ wp_query) if (empty ($ search)) zwraca $ search; // pomiń przetwarzanie - brak wyszukiwanego hasła w zapytaniu $ q = & $ wp_query-> query_vars; // wp-includes / query.php linia 2128 (wersja 3.1) $ n =! empty ($ q ['exact'])? ": '%'; $ searchand ="; foreach ((tablica) $ q ['search_terms ”] jako $ 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 (empty ($ q ['sentence']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. „LUB ($ wpdb-> posts.post_title LIKE” $ n $ term $ n ”)”; if (! empty ($ search)) $ search = "AND ($ search)"; if (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password =") "; return $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2); 

    [Źródło: WpSnipp]

    5. Wyświetl numer rosnący na każdym poście

    Ulepszenie poniżej pozwoli Ci wyświetlić numer rosnący na każdym poście, a jego implementacja jest całkiem prosta. Najpierw wklej następującą funkcję do swojego functions.php plik:

     function updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> posts. * FROM $ wpdb-> posts WHERE $ wpdb-> posts.post_status = 'opublikuj' AND $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ liczba = 0; if ($ pageposts): foreach ($ pageposts jako $ post): setup_postdata ($ post); $ liczy ++; add_post_meta ($ post-> ID, 'incr_number', $ counts, true); update_post_meta ($ post-> ID, 'incr_number', $ counts); endforeach; endif;  add_action ('publication_post', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers'); 

    Po zakończeniu możesz wyświetlić numer postu za pomocą następującego kodu. Zauważ, że musi być używany w pętli.

     ID, 'incr_number', true); ?> 

    [Źródło: Alchymyth, przez WpRecipes]

    6. Wyklucz pocztę z kanału WordPress

    Chcesz wykluczyć niektóre posty z Twojego kanału? Oto poprawka dla ciebie. Pamiętaj, że powinieneś filtrować tylko tam, gdzie chcesz filtrować; w naszym przykładzie jest to w naszym kanale $ wp_query-> is_feed. Jeśli nie uda ci się tego zrobić, filtr będzie również działał na twoim zapleczu, a te posty nie będą wyświetlane w przeglądzie postów.

    Funkcja ma dwa parametry. Podajesz pierwszy parametr $ gdzie rozszerzenie łańcucha SQL, które zajmie się filtrowaniem opartym na ID. Następnie w nawiasach musisz wstawić Identyfikatory postów, które chcesz filtrować.

     funkcja fb_post_exclude ($ where, $ wp_query = NULL) global $ wpdb; if (! $ wp_query) global $ wp_query; if ($ wp_query-> is_feed) // wyklucz post o identyfikatorze 40 i 9 $ gdzie. = "AND $ wpdb-> posts.ID NOT IN (40, 9)";  return $ gdzie;  add_filter ('posts_where', 'fb_post_exclude', 1, 2); 

    [Źródło: WP Engineer]

    7. Przekieruj do posta, gdy zapytanie wyszukiwania zwróci pojedynczy wynik

    Umieść ten fragment w functions.php plik motywu WordPress, aby automatycznie przekierować wyszukiwanie na post, gdy WordPress zwraca tylko jeden wynik wyszukiwania.

     add_action ('template_redirect', 'single_result'); funkcja single_result () if (is_search ()) global $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts ['0'] -> ID));  

    [Źródło: WpSnipp]

    8. Automatycznie utwórz metaopis z the_content

    Dodawanie tego fragmentu do functions.php plik twojego motywu WordPress automatycznie utworzy metaopis z posta WordPressa, usuwając wszystkie skróty i tagi. Upewnij się również, że masz go w header.php Twojego motywu WordPress lub ten fragment kodu nie będzie działać.

     funkcja 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", ""), ", $ meta); $ meta = substr ($ meta, 0, 125); echo""; add_action ('wp_head', 'create_meta_desc'); 

    [Źródło: WpSnipp]

    9. Automatycznie zastępuj słowa linkami partnerskimi

    Aby automatycznie zastąpić słowa linkami partnerskimi, po prostu wklej poniższy kod do swojego functions.php plik. Pamiętaj, aby wprowadzić swoje słowa / linki, jak pokazano w poniższym przykładzie kodu.

     function replace_text_wps ($ text) $ replace = array (// 'WORD TO REPLACE' => 'WYMIEŃ SŁOWO Z TEGO "thesis' => 'Praca dyplomowa',' studiopress '=>'studiopress”); $ text = str_replace (array_keys ($ replace), $ replace, $ text); zwróć $ tekst;  add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps'); 

    [Źródło: catswhoblog.com]

    10. Dodaj “Czytaj więcej” permalink do końca pliku

    Dodawanie tego fragmentu poniżej do functions.php plik twojego motywu WordPressa doda “Czytaj więcej” permalink na końcu the_excerpt, całkiem jak co Treść robi.

     funkcja excerpt_readmore ($ more) return ”… '. 'Czytaj więcej'. '';  add_filter ('excerpt_more', 'excerpt_readmore'); 

    [Źródło: WpSnipp]

    11. Pokaż pokrewne posty bez wtyczki

    Zainstalowanie poniższego kodu sprawi, że Twoja witryna WordPress wyświetli pokrewne posty na podstawie bieżących tagów postów. Musisz go umieścić w środku single.php, lub po prostu gdziekolwiek chcesz pokazać powiązane posty.

     ID); if ($ tags) $ tag_ids = array (); foreach ($ tags jako $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => array ($ post-> ID), 'showposts' => 5, // Liczba powiązanych postów, które zostaną pokazane. 'caller_get_posts' => 1); $ my_query = nowy wp_query ($ args); if ($ my_query-> have_posts ()) echo ”

    powiązane posty

    Aby utworzyć post z wygaśnięciem daty / godziny, możesz utworzyć niestandardowe pole. Dać wygaśnięcie jako klucz i twoja data / godzina (format: mm / dd / rrrr 00:00:00) jako wartość. Post nie pojawi się po tym konkretnym znaczniku czasu.

    [Źródło: WpRecipes]

    14. Wymień przyszłe posty

    WordPress umożliwia wyświetlanie przyszłych postów, a aby osiągnąć tę funkcję, wystarczy wkleić kod do dowolnego miejsca, w którym mają być wyświetlane przyszłe posty:

     

    Przyszłe wydarzenia


    Nie zaplanowano żadnych przyszłych wydarzeń.

    [Źródło: WpRecipes]

    15. Wyświetlaj AdSense tylko dla użytkowników wyszukiwarek

    Możliwe jest wyświetlanie AdSense odwiedzającym z wyników wyszukiwarek, a oto kod, aby to osiągnąć, po prostu wklej poniższy kod do tematu functions.php plik.

     funkcja 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 jako $ source) if (strpos ($ ref, $ source)! == false) zwraca true;  return false;  

    $ SE tablica jest miejscem, w którym określasz wyszukiwarki. Możesz dodać nową wyszukiwarkę, dodając nowy element do tablicy, a następnie wkleić poniższy kod w dowolnym miejscu szablonu, w którym chcesz wyświetlać reklamy AdSense i gotowe! Reklamy będą wyświetlane tylko odwiedzającym z wyników wyszukiwarek.

     if (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSERT YOUR CODE HERE 

    [Źródło: Scratch99, przez WpRecipes]

    Back End

    1. Zezwalaj na więcej tagów HTML w edytorze

    Domyślnie edytor WordPress nie zezwala na tagi HTML, które nie są zgodne ze standardem XHTML 1.0. Jednak kod pokazany poniżej zmusi redaktora do zaakceptowania większej liczby tagów. Możesz wkleić go do motywu functions.php plik, zapisz go, a funkcja jest dobra.

     function fb_change_mce_options ($ initArray) // Ciąg oddzielony przecinkami od extendes znaczników // Ciąg elementów rozdzielonych poleceniami $ ext = 'pre [id | nazwa | klasa | styl], iframe [align | longdesc | nazwa | szerokość | wysokość | frameborder | scrolling | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ ext;  else $ initArray ['extended_valid_elements'] = $ ext;  // może; set tiny paramter verify_html // $ initArray ['verify_html'] = false; return $ initArray;  add_filter ('tiny_mce_before_init', 'fb_change_mce_options'); 

    [Źródło: WP Engineer]

    2. Ustaw domyślny edytor

    Poniższy fragment modyfikuje domyślny edytor w programie WordPress admin. Możesz iść z Edytor wizualny, lub możesz wybrać Edytor HTML, po prostu dodaj jeden z nich do functions.php plik.

     # To ustawia Visual Editor jako domyślny add_filter ('wp_default_editor', create_function (", 'return" tinymce ";')); # Ustawia edytor HTML jako domyślny add_filter ('wp_default_editor', create_function (", 'return "html „;”)); 

    [Źródło: WP-Snippets]

    3. Ustaw różne arkusze stylów edytora dla różnych typów postów

    Z następującym kodem wklejonym do twojego functions.php plik, możesz ustawić różne arkusze stylów edytora dla różnych typów postów. Musisz go dostosować, w zależności od typów postów, i pamiętaj, aby zmienić nazwy arkuszy stylów także.

     funkcja my_editor_style () global $ current_screen; switch ($ current_screen-> post_type) case 'post': add_editor_style ('editor-style-post.css'); złamać; case 'page': add_editor_style ('editor-style-page.css'); złamać; case 'portfolio': add_editor_style ('editor-style-portfolio.css'); złamać;  add_action ('admin_head', 'my_editor_style'); 

    [Źródło: WPStorm]

    4. zezwalaj na przesyłanie większej liczby typów plików

    Z jakiegoś powodu WordPress Uploader nie pozwala na przesyłanie określonych typów plików, takich jak Textmate's .tmCommand. Jeśli chcesz przesłać te pliki do swojej witryny WordPress, oto funkcjonalny fragment, który pozwala to zrobić, a wystarczy wkleić je do swojego functions.php plik. Możesz także dodać więcej typów plików, dodając je w linii 4, oddzielone potokiem (|).

      „application / octet-stream”)); zwróć $ mimes; ?> add_filter ('upload_mimes', 'addUploadMimes'); 

    [Źródło: pioupioum.fr, przez WpRecipes]

    5. Włącz edytor TinyMCE dla posta_wypadku

    Umieszczenie następującego fragmentu w functions.php plik twojego motywu WordPress doda edytor TinyMCE do pola tekstowego fragmentu wpisu.

     funkcja tinymce_excerpt_js () ?>     

    [Źródło: WpSnipp]

    6. Formaty postów - więcej kreatywnych sposobów na motyw

    Poniższa składnia podaje niektóre z możliwych formatów postów, które można następnie wybrać i użyć bezpośrednio w artykule, a co musisz zrobić, to umieścić kod w swoim functions.php plik twojego motywu.

     add_theme_support („post-formaty”, tablica („na bok”, „audio”, „obraz”, „wideo”)); 

    [Źródło: WP Engineer]

    7. Wyświetlaj miniaturkę posta także w edytowanym wpisie i przeglądzie strony

    WordPress w wersji 2.9 wprowadził funkcję Post Thumbnail. Jest to niesamowite, a aby wyświetlać miniatury postów także w Edit Post i Page Overview, możesz umieścić następujący kod w wtyczce lub skopiować go do functions.php plik tematu.

     if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // dla postu i strony add_theme_support ('post-thumbnails', tablica ('post', 'page')); funkcja fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Thumbnail'); return $ cols;  funkcja fb_AddThumbValue ($ nazwa_kolumny, $ post_id) $ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ nazwa_kolumny) // miniaturka WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // image from gallery $ attachments = get_children (array ('post_parent' => $ post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ attachments) foreach ($ attachments jako $ attachment_id => $ attachment) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true);  if (isset ($ thumb) && $ thumb) echo $ thumb;  else echo __ ('None');  // dla postów add_filter ('manage_posts_columns', 'fb_AddThumbColumn'); add_action ('manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // dla stron add_filter ('manage_pages_columns', 'fb_AddThumbColumn'); add_action ('manage_pages_custom_column', 'fb_AddThumbValue', 10, 2);  

    [Źródło: WP Engineer]

    8. Twórz niestandardowe komunikaty o stanie postu w admin

    Ta modyfikacja została pierwotnie napisana przez programistę jako sposób na wyświetlenie niestandardowych wiadomości dla każdego posta tworzonego przez autora. W takim przypadku post może mieć wiadomość jako odrzucony, błąd, źródło, finał, itp. Możesz zmienić wiadomości tuż pod komentarzem kodu, Tablica niestandardowych komunikatów o stanie, po prostu upewnij się, że zmieniłeś nazwy klas również, które możesz zmienić po komentarzu, zmień kolor wiadomości poniżej.

     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]. '”);  return $ states;  add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); funkcja custom_status_metabox () global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ custom ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * Tablica niestandardowych komunikatów o stanie * / / * ----------------------------------- * / $ custom_status = array („Pisownia”, „Recenzja”, „Błędy”, „Źródło”, „Odrzucone”, „Ostateczne”,); Echo '
    '; Echo ''; Echo '
    '; add_action ('save_post', 'save_status'); funkcja save_status () global $ post; if (zdefiniowane ('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 ”';

    [Źródło: WpSnipp]

    9. Ustaw maksymalną długość tytułu postu

    Dodanie tego kodu PHP do functions.php plik twojego motywu WordPressa ustawi maksymalną liczbę słów, które mogą być wyświetlane w tytule postu, co jest bardzo przydatne!

     function maxWord ($ title) global $ post; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // ustaw to na maksymalną liczbę słów wp_die (__ ('Błąd: twój tytuł postu przekracza maksymalną liczbę słów.'));  add_action ('publication_post', 'maxWord'); 

    [Źródło: WpSnipp]

    10. Jak zmienić czcionkę edytora WordPress

    Nienawidzisz obecnej czcionki używanej w edytorze WordPress? Można je zmienić na nowoczesne czcionki, takie jak Monaco lub Consolas, wystarczy wkleić kod do motywu WordPress functions.php plik.

     funkcja change_editor_font () echo "„; add_action („ admin_print_styles ”,„ change_editor_font ”); 

    [Źródło: shailan.com, przez WpRecipes]

    11. Automatyczne dodawanie pola niestandardowego na post / publikowanie strony

    Fragment kodu służący do automatycznego instalowania niestandardowego pola na stronie lub wpisie podczas ich publikowania. Możesz po prostu dodać poniższy kod do swojego functions.php plik, znajdujący się w folderze motywu. Oczywiście nie zapomnij zmienić niestandardowa nazwa pola.

     add_action ('publikacja_strona', 'add_custom_field_automatically'); add_action ('publication_post', 'add_custom_field_automatically'); funkcja add_custom_field_automatically ($ post_ID) global $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'nazwa-pola', 'wartość niestandardowa', prawda);  

    [Źródło: wpCanyon]

    12. Pozbądź się nieużywanych wersji postów

    Oto bardzo przydatne zapytanie SQL, które natychmiast usunie wszystkie wersje postów oraz powiązane z nimi meta. Musisz uruchomić następujące zapytanie w bazie danych WordPress, a wszystkie wersje (a także powiązane z nim meta) zostaną usunięte z bazy danych. Jedna ważna uwaga tutaj, pamiętaj, aby zrobić kopię zapasową bazy danych przed uruchomieniem kodu.

    DELETE a, b, c Z wp_posts a WHERE 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); 

    [Źródło: Lesterchan.net]

    13. Zmień długość fragmentu w zależności od kategorii

    Czy kiedykolwiek chciałeś zmienić długość fragmentu w oparciu o kategorię, na której się znajdujesz? Oto kod, który spełnia twoje życzenie. Po prostu wklej kod do swojego functions.php plik i nie zapomnij zmienić identyfikator kategorii w linii 3!

     add_filter ('excerpt_length', 'my_excerpt_length'); funkcja my_excerpt_length ($ length) if (in_category (14)) return 13;  else return 60;  

    [Źródło: WpRecipes]

    14. Wyłącz automatyczne zapisywanie wpisów

    Jeśli z jakiegoś krytycznego powodu chcesz wyłączyć funkcję, która automatycznie zapisuje Twój post podczas edycji na pulpicie nawigacyjnym, jest to możliwe. Po prostu otwórz functions.php plik i wklej następujący kod do pliku:

     funkcja disableAutoSave () wp_deregister_script ('autosave');  add_action ('wp_print_scripts', 'disableAutoSave'); 

    [Źródło: WpRecipes]

    Następnie możesz zapisać plik, a WordPress nigdy nie zapisze postu automatycznie. Możesz także odzyskać funkcję, usuwając kod.

    Więcej

    Szukasz więcej możliwości personalizacji WordPressa? Mamy dla ciebie więcej!

    • WordPress: 30 Useful Tricks And Hacks
    • WordPress: 30 kolejnych sztuczek i hacków
    • WordPress: 40 sztuczek i hacków