
William Charles
0
4172
1252
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 wierszami 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 o czymś pamiętać, na wypadek gdyby Twoja witryna nagle się zepsuła i nie może zrozumieć, dlaczego. Jeśli popełnisz błąd przy ich kodowaniu, zobaczysz pustą stronę (najlepszy przewodnik do radzenia sobie z 500 błędów serwera i pustych stron w WordPress The Ultimate Guide do rozwiązywania 500 wewnętrznych błędów serwera i pustych białych stron w WordPress The Ultimate Guide do rozwiązywania 500 wewnętrznych błędów serwera i pustych białych stron w WordPress Masz problem z 500 wewnętrznymi błędami serwera i pustymi stronami w WordPress ? Oto jak je naprawić od razu. poinformuje Cię o innych sposobach, jakie mogą się zdarzyć) - więc bądź ostrożny. Znajomość PHP jest również pomocna (oto nasz przewodnik dla PHP dla początkujących).
Dodaj miniatury do obszaru administracyjnego
Jeśli dopiero zaczynasz dodawać miniatury postów Kompletny przewodnik po polecanych miniaturach i rozmiarach obrazków w WordPress Kompletny przewodnik po polecanych miniaturach i rozmiarach obrazków w WordPress Oto wszystko, co musisz wiedzieć o rozmiarach obrazków w WordPress i zarządzaniu polecanymi obrazami. , 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łu), szczególnie gdy fragmenty te są podatne na częste zmiany - w ten sposób powodując uszkodzenie wszystkich bieżących postów. Jeśli osadzany JavaScript zawiera atrybut rozmiaru, możesz 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 opiera się na bezpłatnej usłudze tlk.io. Korzystanie z krótkiego kodu czat, i biorąc pod uwagę pojedynczy atrybut sala, osadza odpowiedni kod wskazujący prawidłowy adres pokoju czatu - lub w tym przypadku domyślnie jest to rodzajowy “technofilia” sala.
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 usunie je, krótki kod “odkurzacz” jeśli chcesz - chociaż to nie działa na bazie danych, tylko na wyjściu treści postu.
funkcja shortcode_cleaner () remove_shortcode ('chat'); add_shortcode („czat”, „my_remove_shortcode”); add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () return ";
Wyodrębnij wideo z YouTube z postu
Wyróżnione obrazy 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 bardziej wideo? 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ć zgodnie z własnym życzeniem.
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żna go rozszerzyć, aby zrobić jeszcze więcej dzięki wtyczce TinyMCE Advanced Przejmij kontrolę nad edytorem WordPress za pomocą TinyMCE Advanced Przejmij kontrolę nad edytorem WordPress za pomocą TinyMCE Advanced. Dla tych, którzy chcą trochę mniej opieki nad swoim kodem, ten krótki fragment powstrzyma TinyMCE od usuwania tagów poprzez rozszerzenie listy prawidłowych elementów, umożliwiając osadzanie elementów takich jak iFrame lub określanie klas elementów.
funkcja fb_change_mce_options ($ initArray) // Ciąg znaków rozdzielonych przecinkami $ ext = 'pre [id | nazwa | klasa | styl | język | escaped], 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ć plik “webthumb” krótki kod i użyj go, otaczając taki URL [webthumb] // www.makeuseof.com [/ webthumb]. Użyj atrybutów, aby zastąpić szerokość lub wysokość i dopasować wynik 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" => 'My image', „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 to oczywiście zmienić 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ł: ID). ”„> ”. Get_the_title ($ post-> ID).”
"; return $ content; 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'). ''. $ content; $ content. = "Przeczytaj cały artykuł: ID). ”„> ”. Get_the_title ($ post-> ID).”
"; return $ content; 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ę receptur IFTTT dla WordPress 5 Niesamowitych przepisów IFTTT dla użytkowników WordPress 5 Niesamowitych przepisów IFTTT dla użytkowników WordPress IFTTT 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! lub odwiedź WPSnipp - witrynę zawierającą ponad 600 skategoryzowanych fragmentów kodu.