Reklama
Przeszkadzają mi wtyczki - widząc ich długą listę, każda rejestruje własne haki i filtry i… eugh. Czasami można znaleźć proste rozwiązanie z zaledwie kilkoma liniami functions.php plik. Oto 10 naszych ulubionych.
Zauważ, że functions.php jest częścią Twojego motywu i dlatego wszelkie zmiany, które tam umieścisz, zostaną utracone po zmianie motywu. Musisz skopiować te, które chcesz zachować do nowego motywu - w żadnym wypadku nie jest to trudne, ale należy pamiętać o tym, że witryna nagle się psuje i nie jest w stanie dowiedzieć się, dlaczego. Jeśli popełnisz błąd przy ich kodowaniu, zobaczysz pustą stronę (najlepszy przewodnik po tym, jak sobie z tym poradzić 500 błędów serwera i pustych stron w WordPress The Ultimate Guide to Rozwiązywanie 500 wewnętrznych błędów serwera i pustych białych stron w WordPressMasz problem z 500 wewnętrznymi błędami serwera i pustymi stronami w WordPress? Oto jak je naprawić od razu. Czytaj więcej pokaże ci kilka innych sposobów, w jakie może się to zdarzyć)
- więc bądź ostrożny. Znajomość PHP jest również pomocna (oto nasza przewodnik dla początkujących po PHP Naucz się budować za pomocą PHP: Crash CoursePHP jest językiem używanym przez Facebooka i Wikipedię do obsługi miliardów zapytań dziennie; de facto język używany do nauczania programowania stron internetowych. Jest pięknie prosty, ale genialnie potężny. Czytaj więcej ).Dodaj miniatury do obszaru administracyjnego
Jeśli dopiero zaczynasz dodawać publikować miniatury Kompletny przewodnik po polecanych miniaturach i rozmiarach obrazów w WordPressOto wszystko, co musisz wiedzieć o rozmiarach obrazów w WordPressie i zarządzaniu polecanymi obrazami. Czytaj więcej , niezwykle pomocne może być szybkie sprawdzenie, które posty nie zawierają jeszcze miniatury - ten fragment doda nową kolumnę do ekranu administratora podczas przeglądania Wszystkie posty. Możesz zmienić rozmiar, dostosowując zmienne w tablicy (100,200), która określa maksymalną szerokość i wysokość.
add_filter („manage_posts_columns”, „posts_columns”, 5); działanie dodatkowe („manage_posts_custom_column”, „posts_custom_column”, 5, 2); funkcja posts_columns ($ defaults) {$ defaults ['post_thumbs'] = __ ('Thumbs'); return $ defaults; } funkcja posts_custom_columns ($ nazwa_kolumny, $ id) {if ($ nazwa_kolumny 'post_thumbs') {echo the_post_thumbnail (tablica (100,200)); } }
Powinieneś skończyć z czymś takim:

Stwórz własny skrót dla JS Snippets
Osadzanie kodu JavaScript bezpośrednio w treści postu może być problematyczne (ale jest to możliwe, zobacz hack TinyMCE w dalszej części artykuł), szczególnie gdy fragmenty te są często zmieniane - w ten sposób renderowane są wszystkie bieżące posty złamany. Jeśli kod JavaScript, który osadzasz, zawiera atrybut rozmiaru, możesz również mieć problemy ze zmianą motywu i nagle nic już nie pasuje. A może po prostu zmęczy Cię konieczność osadzania tego samego w kółko. Tak czy inaczej, shortcode może ogromnie pomóc.
Oto fragment tego, który utworzyłem, aby osadzić cotygodniowy czat, który jest bezpłatny tlk.io usługa. Korzystanie z krótkiego kodu czati podany pojedynczy atrybut Pokój, osadza odpowiedni kod wskazujący prawidłowy adres pokoju czatu - lub w tym przypadku domyślnie jest to standardowy pokój „technofilia”.
function chatroom ($ atts) {extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); powrót ''; } add_shortcode („czat”, „czat”);
Zabij krótki kod
Jeśli nie chcesz już używać krótkiego kodu, możesz znaleźć je zaśmiecone na wydruku. Ten prosty kod je usunie, a jeśli tak, to krótki kod będzie „czystszy” - chociaż nie działa on w bazie danych, a jedynie na treści wyjściowej postu.
funkcja shortcode_cleaner () {remove_shortcode ('chat'); add_shortcode („czat”, „my_remove_shortcode”); } działanie dodatkowe („init”, „shortcode_cleaner”); function my_remove_shortcode () {return ''; }
Wyodrębnij wideo z YouTube z postu
Wybrane zdjęcia zostały wprowadzone w wersji 2.9, aby każdy post otrzymał jedno centralne reprezentatywne zdjęcie, ale co, jeśli Twój post dotyczy więcej filmów? Możesz zrobić zrzut ekranu i użyć go jako wyróżnionego obrazu lub wyodrębnić wideo i osadzić je zamiast wyróżnionego obrazu. Wywołaj tę funkcję z pętli, aby otrzymać adres URL YouTube, który możesz zrobić z dowolną potrzebą.
funkcja video_from_post () {global $ post; $ return = array (); preg_match ('| http://www.youtube.com/watch\?v=([a-zA-Z0-9_\-]+)|', $ post-> post_content, $ mecze); $ v = $ dopasowania [1]; $ return [0] = $ post; $ return [1] = $ v; return $ return; }
Możesz także skorzystać z poniższego fragmentu, który filtruje posty w celu usunięcia adresów URL YouTube (ponieważ będziesz ich używać w innym miejscu).
funkcja remove_youtube ($ content) {$ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-]+ )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); zwróć zawartość $; } add_filter ('the_content', 'remove_youtube');
Zatrzymaj edytor wizualny Stripping HTML
Edytor wizualny WordPress - TinyMCE - jest świetny dla większości użytkowników i może zostać rozszerzony o jeszcze więcej Zaawansowana wtyczka TinyMCE Przejmij kontrolę nad edytorem WordPress dzięki TinyMCE Advanced Czytaj więcej . Dla tych, którzy chcą trochę mniej opiekować się swoim kodem, ten mały fragment powstrzyma TinyMCE przed rozebraniem tagi, rozszerzając listę prawidłowych elementów, umożliwiając osadzanie elementów takich jak iFrames lub określanie klas elementy.
funkcja fb_change_mce_options ($ initArray) {// Ciąg znaków rozdzielonych przecinkami $ ext = „pre [id | nazwa | klasa | styl | język | ucieczka], iframe [align | longdesc | nazwa | szerokość | wysokość | frameborder | przewijanie | marginheight | marginwidth | src] '; if (isset ($ initArray ['Extended_valid_elements'])) {$ initArray ['Extended_valid_elements']. = ','. $ ext; } else {$ initArray ['Extended_valid_elements'] = $ ext; } $ initArray ['Verify_html'] = false; return $ initArray; } add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
Wreszcie, ten powstrzymuje JavaScript przed usunięciem, ale pamiętaj, że to otwiera dużą lukę bezpieczeństwa w środowiskach wielu autorów.
funkcja disable_kses_content () {remove_filter ('content_save_pre', 'wp_filter_post_kses'); } add_action ('init', 'disable_kses_content', 20);
Darmowy Thumbnailer strony internetowej
WordPress.com oferuje mało znaną usługę kopiowania stron internetowych - to znaczy, możesz podać jej adres URL strony internetowej, a ona wygeneruje i wyświetli miniaturę tej witryny. Dodaj następujący fragment kodu, aby utworzyć krótki kod „webthumb”, i użyj go, otaczając taki adres URL [webthumb] // www.makeuseof.com [/ webthumb]. Użyj atrybutów, aby zastąpić szerokość lub wysokość, i dostosuj dane wyjściowe HTML zgodnie z wymaganiami. Miniatury są buforowane, ale ich wygenerowanie może trochę potrwać.
funkcja websitethumbnails ($ atts, $ content = null) {extract (shortcode_atts (array ("snap" => ' http://s.wordpress.com/mshots/v1/', „alt” => „Mój obraz”, „w” => „600”, // szerokość „h” => „350” // wysokość), $ atts)); $ img = '
'; zwróć $ img; } add_shortcode („webthumb”, „websitethumbnails”);
Dodaj wyróżnione miniatury do kanałów RSS
Poniższy kod dostosuje zarówno fragment, jak i pełny kanał RSS, tak aby zawierał wyróżnioną miniaturę. Możesz także zobaczyć, jak dodaliśmy domyślny link na końcu każdego elementu, prowadzący z powrotem do pełnego postu. Możesz oczywiście zmienić to na dowolne, na przykład na przyciski udostępniania.
funkcja excerpt_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = ''. get_the_post_thumbnail ($ post-> ID, 'featured'). ''. rss_the_excerpt ($ post-> ID, 100); } $ content. = "Przeczytaj cały artykuł: „.get_the_title ($ post-> ID).”
"; zwróć zawartość $; } add_filter („the_excerpt_rss”, „excerpt_thumbnail_feeds”); // pokaż miniatury postów w kanałach. funkcja full_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = ''. get_the_post_thumbnail ($ post-> ID, 'featured'). ''. $ zawartość; } $ content. = "Przeczytaj cały artykuł: „.get_the_title ($ post-> ID).”
"; zwróć zawartość $; } add_filter („the_content_rss”, „full_thumbnail_feeds”);
Zobacz - jest wiele rzeczy, które można zrobić bez wtyczek, a to tylko drapanie po powierzchni. Jeśli chcesz więcej, sprawdź moją listę Przepisy IFTTT dla WordPress 5 niesamowitych przepisów IFTTT dla użytkowników WordPressIFTTT jest wybranym narzędziem do automatyzacji zaawansowanych użytkowników; a WordPress to szwajcarski scyzoryk najlepszego blogera. Wyobraź sobie dominację nad światem, którą możesz osiągnąć, łącząc te dwa elementy! Czytaj więcej lub odwiedź WPSnipp - witryna z ponad 600 podzielonymi na kategorie hackami fragmentów.
James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.