10 fragmentów WordPress do dostosowywania motywów
Kiedy używasz WordPress, bardzo łatwo jest zmienić wygląd swojej witryny dzięki motywom. Istnieje wiele (jak cała masa) WordPress Themes dostępnych zarówno za darmo, jak i za dodatkową opłatą. Wybierz motyw, zainstaluj go, a w ciągu kilku minut możesz uzyskać zupełnie nowy wygląd swojej witryny.
Ale poza nadawaniem wyglądu i stylu, motyw WordPress może być rozszerzony na wiele sposobów. Możesz budować nowe funkcje za pomocą wtyczek, ale w tym poście przyglądamy się Funkcje WordPress, które mogą być przydatne dla Twojego motywu. Trzeba po prostu umieścić te funkcje w pliku functions.php motywu, aby efekt mógł mieć miejsce.
Zalecane czytanie: Jak zarządzać i używać fragmentów kodu w WordPressie
1. Zmień długość fragmentu
Na fragment to krótki fragment Twojego postu, który możesz zobaczyć. WordPress w tym przypadku domyślnie ustawia fragment na 55 słów. Ale WordPress pozwala nam dostosować domyślną długość poprzez excerpt_length
filtr w następujący sposób.
funkcja my_excerpt_length ($ length) return 30; add_filter ('excerpt_length', 'my_excerpt_length', 999);
Wartość zwracana odnosi się do sumy słów, które będą wyświetlane jako fragment. W powyższym przykładzie wyświetlamy 30 słów wartości każdego postu w fragmencie.
2. Zmniejsz zmiany wersji
WordPress pozwala pisarzom i blogerom spojrzeć wstecz na poprzednie wersje ich pracy. Jednak wraz ze wzrostem liczby wersji mogą one również wpływać na wydajność strony, ponieważ każda nowo zarejestrowana wersja dodaje nowy wiersz do bazy danych. Ten problem będzie się pogarszał z czasem.
Aby rozwiązać ten problem, możesz ustawić liczbę wersji, które chcesz zapisać w bazie danych. Aby to zrobić, otwórz swój wp-config.php i dodaj ten fragment poniżej. Zmień liczbę, aby ograniczyć liczbę wersji, które chcesz zapisać.
define ('WP_POST_REVISIONS', 5);
Jeśli wolisz wyłączyć wersję WordPress, przełącz wartość na FAŁSZYWY
lubię to:
define ('WP_POST_REVISIONS', false);
3. Automatycznie ustaw wyróżniony obraz na poczcie
Powszechną praktyką jest wyświetlanie wyróżnionego obrazu, który reprezentuje lub opisuje post. WordPress wymaga od nas ustawienia tego wyróżnionego obrazu ręcznie. Aby proces był bardziej wydajny, możemy ustawić wyróżniony obraz automatycznie przez zrobienie pierwszego zdjęcia w postie opisanego obrazu. Użyj następującego fragmentu kodu.
function autoset_featured () global $ post; $ already_has_thumb = has_post_thumbnail ($ post-> ID); if (! $ already_has_thumb) $ attached_image = get_children ("post_parent = $ post-> ID & post_type = attach & post_mime_type = image & numberposts = 1"); if ($ attached_image) foreach ($ attached_image jako $ attachment_id => $ attachment) set_post_thumbnail ($ post-> ID, $ attachment_id); add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_publish', 'autoset_featured'); add_action („new_to_publish”, „autoset_featured”); add_action ('pending_to_publish', 'autoset_featured'); add_action ('future_to_publish', 'autoset_featured');
4. Wymuś minimalną długość komentarza
Nie jest fanem komentarzy 1-2 słów “Nice Post!”, “Dobra robota!”? Chociaż komentarz może nie być spamem, są to komentarze, które zazwyczaj nie zachęcają do dalszych dyskusji. Jeśli chcesz, aby Twoi komentatorzy rozmawiali, możesz ustawić minimalną długość wymaganych słów, zanim czytelnicy będą mogli opublikować swój komentarz.
Poniżej znajduje się fragment określający minimalną liczbę znaków lub słów do komentarzy. Włóż to functions.php.
function minimal_comment_length ($ commentdata) $ minimalCommentLength = 20; if (strlen (trim ($ commentdata ['comment_content'])))
$ minimalCommentLength
wartość to minimalna liczba wymaganych znaków, wprowadź zmiany w tej wartości, aby ją zmienić.5. Wyłącz linki z komentarzy użytkownika
Linki, które są zawarte w formularzu komentarzy, natychmiast po kliknięciu i zatwierdzeniu staną się linkiem do kliknięcia. Może to zostać wykorzystane przez spamerów, zachęcając ich do zalania sekcji komentarza linkiem do strony „spam”.
Aby temu przeciwdziałać, możesz dodać ten filtr, aby wyłączyć możliwość klikania linków i zachować je po prostu jako zwykły tekst.
remove_filter ('comment_text', 'make_clickable', 9);6. Usuń klasę i identyfikatory z niestandardowych menu
Jeśli spojrzysz na niestandardowe menu w WordPress, znajdziesz kilka klas i identyfikatorów w każdym elemencie menu. Użyj poniższego fragmentu, aby usunąć klasy, których nie chcesz i zachować potrzebne klasy.
funkcja my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('current-menu-item')): "; add_filter ('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); add_filter ('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); add_filter ('page_css_class', 'my_css_attributes_filter', 100, 1);W powyższym kodzie trzymamy
pozycja bieżącego menu
klasa.7. Wyklucz strony z wyszukiwania
Wyszukiwanie w WordPressie spowoduje wyciągnięcie wyników z obu stron i postów, czasami bez większego znaczenia dla zapytania. Aby temu zapobiec, możesz filtrować wyniki wyszukiwania, aby pokazać tylko te znalezione w postach. Dodaj ten fragment do function.php aby to zrobić.
funkcja SearchFilter ($ query) if ($ query-> is_search) $ query-> set ('post_type', 'post'); return $ query; add_filter ('pre_get_posts', 'SearchFilter');8. Zastąp tekst „Cześć”
Znudzony tekstem „Cześć”? Jeśli chcesz zmienić to na specjalne powitanie na swojej stronie, po prostu dodaj to do function.php, a efekt nastąpi natychmiast.
funkcja change_howdy ($ translated, $ text, $ domain) if (false! == strpos ($ translated, 'Howdy ”)) return str_replace (' Howdy ',' Hello ', $ translated); return $ translated; add_filter ('gettext', 'change_howdy', 10, 3);9. Dodaj dodatkowe usuwanie menu dla poszczególnych ról
Za pomocą tego fragmentu można ukryć menu znajdujące się na pulpicie nawigacyjnym dla osób niebędących administratorami.
funkcja remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrator')) remove_menu_page ('index.php'); // Panel kontrolny remove_menu_page ('edit.php'); // Posty remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = page'); // Strony remove_menu_page ('edit-comments.php'); // Komentarze remove_menu_page ('themes.php'); // Wygląd remove_menu_page ('plugins.php'); // Wtyczki remove_menu_page ('users.php'); // Użytkownicy remove_menu_page ('tools.php'); // Narzędzia remove_menu_page ('options-general.php'); // Ustawienia add_action ('admin_init', 'remove_admin_menus');Należy pamiętać, że usuwa to tylko menu z ekranu, ale nie filtruje uprawnień użytkownika do dostępu do tych menu. Nie uniemożliwia to użytkownikowi dostępu do tych menu bezpośrednio przez pasek adresu przeglądarki. Pamiętaj, aby dodać je do swojego functions.php.
10. Usuń link Admin Bar Link dla nieadministratorów
W panelu WordPress Dashboard, oprócz głównego menu na pasku bocznym, znajdziesz również kilka linków menu na górze. Możesz ograniczyć dostęp do tego linku paska administracyjnego z określonych ról lub użytkowników. Poniższy fragment usunie menu z paska administracyjnego dla użytkowników niebędących administratorami - dostosuj odpowiednio.
funkcja remove_admin_bar_links () global $ wp_admin_bar; if (! current_user_can ('administrator')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Usuń logo WordPress $ wp_admin_bar-> remove_menu ('about'); // Usuń odnośnik WordPress $ wp_admin_bar-> remove_menu ('wporg'); // Usuń link WordPress.org $ wp_admin_bar-> remove_menu ('documentation'); // Usuń dokumentację WordPress link $ wp_admin_bar-> remove_menu ('support-fora'); // Usuń fora wsparcia link $ wp_admin_bar-> remove_menu ('feedback'); // Usuń link do opinii $ wp_admin_bar-> remove_menu ('site-name'); // Usuń nazwę witryny link $ wp_admin_bar-> remove_menu ('view-site'); // Usuń witrynę odwiedzin link $ wp_admin_bar-> remove_menu ('updates'); // Usuń aktualizacje link $ wp_admin_bar-> remove_menu ('comments'); // Usuń komentarze link $ wp_admin_bar-> remove_menu ('new-content'); // Usuń nową zawartość link $ wp_admin_bar-> remove_menu ('my-account'); // Usuń kartę szczegółów użytkownika add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');