Spisie treści
Kiedy tworzymy stronę internetową w Wordpress, niejednokrotnie klient lub my sami chcemy zmienić wygląd obszaru administracyjnego serwisu.W tym celu możemy dodawać lub usuwać funkcjonalności lub zmieniać aspekty projektowe. Wordpress pozwala nam zmieniać różne funkcjonalności poprzez dostęp do jego haczyków. Podpięcie odnosi się do zdarzenia, które występuje w Wordpress i którym możemy manipulować z poziomu kodu.
Wiedząc, czym jest podpięcie i kiedy jest wykonywane, możemy utworzyć funkcję, która zostanie wykonana, gdy wystąpi określone zdarzenie podpięcia.
Zdarzeniem może być np. wczytanie strony i wyświetlenie etykiet, możemy przechwycić zaczep admin_head i wykonać funkcję, aby dodać np. arkusz stylów w sposób dynamiczny.
1. Dodaj arkusz stylów do menedżera
Załóżmy, że chcemy dołączyć arkusz stylów, a następnie przechodzimy do pliku functions.php i dodajemy następujący kod:
add_action ('admin_head', 'newcss'); funkcja newcss () {echo ''; }Jeśli chcemy dodać arkusz stylów na początku sieci, haczyk będzie wp_head
Istnieją dwa zdarzenia do zarządzania hookami Wordpress:
- Haki akcji: Jest powszechnie używany, gdy chcesz wykonać jakąś funkcję po wystąpieniu określonego zdarzenia.
- Filtruj haki: Gdy wystąpi zdarzenie, pozwala na przekazanie pewnej treści przez funkcję, zwykle służy do modyfikowania CSS lub niektórych aspektów projektu, takich jak modyfikacja tekstu lub pogrubienie niektórych słów w treści posta.
Załóżmy, że chcemy wyszukać słowo kluczowe i pogrubić je:
function bold ($ content) {$ content = preg_replace ("/ (słowo kluczowe) / i", "$1", zawartość $); zwróć zawartość $;} add_filter (" zawartość_"," pogrubienie ");Oznacza to, że gdy słowo kluczowe pojawi się w treści, automatycznie pojawi się pogrubione.
Na stronie internetowej Wordpress Mamy wszystkie haki do konsultacji i przykład ich zastosowania:
Filtr http: // usuń menucodex.wordpress.org/Plugin_API/Filter_Reference
Akcja http: // usuń menucodex.wordpress.org/Plugin_API/Action_Reference.
2. Zmodyfikuj logo na ekranie logowania
Wielu nie lubi ekranu logowania wordpress i woli umieścić swoją firmę lub projekt internetowy zamiast logo WordPress na górze formularza.
Możemy modyfikować logo za pomocą haczyka login_head dodanie funkcji w pliku functions.php naszego szablonu.
funkcja mylog () {echo ''; } add_action ('login_head', 'myilogo')3. Zmodyfikuj stopkę panelu administracyjnego
Tutaj użyjemy haczyk admin_footer_text i utworzymy funkcję w pliku funkcje.php wtedy możemy zmienić tekst:
function changetext () {echo '© 2015 Copyright Web name. Wszelkie prawa zastrzeżone - Zaprojektowany przez Miempresa '; } add_filter ('admin_footer_text', 'changetext');4. Usuń opcje z menu administratora
Jeśli chcemy usunąć opcje z menu administratora, aby nie były dostępne, w wielu przypadkach jest to przydatne, aby ktoś, kto nie umie administrować siecią, nie mógł modyfikować konfiguracji lub zmieniać czegoś, co psuje sieć, wtedy będziemy użyj zaczepu admin_menu i utwórz następną funkcję.
funkcja delete_menu () {delete_menu ('edit.php'); // usuń menu usuń menu Wpisy delete_menu ('upload.php'); // usuń menu Multimedia remove_menu ('link-manager.php'); // usuń menu Linki remove_menu ('edit.php? post_type = page'); // usuń menu Strony remove_menu ('edit-comments.php'); // usuń menu Komentarze remove_menu ('themes.php'); // usuń menu Wygląd remove_menu ('plugins.php'); // usuń menu Wtyczki remove_menu ('users.php'); // usuń menu Użytkownicy remove_menu ('tools.php'); // usuń menu Narzędzia remove_menu ('options-general.php'); // usuń menu Ustawienia} // Usuń dla wszystkich użytkowników, w tym administratora podczas wyświetlania menu add_action ('admin_menu', 'remove_menu'); // Usuń dla wszystkich użytkowników z wyjątkiem administratora podczas uruchamiania administratora if (! Current_user_can ('manage_options')) {add_action ('admin_init', 'delete_menu'); }Dodaj elementy i opcje do paska narzędzi panelu administracyjnego.
Tworzymy następującą funkcję, aby dodać funkcjonalności do paska narzędzi Wordpress:
function switchtools ($ bar) {global $ current_user; // Zmienna globalna z danymi aktualnie zalogowanego użytkownika // Zmienne do przypisywania adresów URL różnych stron w pasku narzędzi $ urlhome = get_site_url (); $lista klientów = get_admin_url (). '/edit.php?post_type=cliente'; // Lista klientów $ addclient = get_admin_url (). '/post-nowy.php?post_type=client'; // Dodaj samochód $ carlist = get_admin_url (). '/edit.php?post_type=auto'; // Lista samochodów $ anadirauto = get_admin_url (). '/post-nowy.php?post_type=autos'; // Dodaj samochód $ urlexportar = get_admin_url (). '/exportar.php' // Usuń logo Wordpress $ bar-> remove_menu ('wp-logo'); // Usuń ikonę powiadomienia o aktualizacji $ bar-> remove_menu ('updates'); // Dodajemy kilka menu z funkcjonalnościami w pasku narzędzi $ bar-> add_node (array ('id' => 'ir_home', 'title' => 'Vista Web Home', 'href' => $ urlhome, 'meta' => tablica (' target '=>' home '))); $ bar-> add_node (array ('id' => 'clients', 'title' => 'Klienci', 'href' => $ urlclientes, 'meta' => array ('target' => 'client') )); $ bar-> add_node (array ('id' => 'cars', 'title' => 'Samochody', 'href' => $ carlist, 'meta' => array ('target' => 'samochody') )); $ bar-> add_node (array ('parent' => 'clients', 'id' => 'newclient', 'title' => 'Dodaj klienta', 'href' => $ addclient, 'meta' => array ('cel' => 'nowy klient'))); $ bar-> add_node (array ('parent' => 'cars', 'id' => 'newcar', 'title' => 'Dodaj samochody', 'href' => $ anadirauto, 'meta' => false )); $ bar-> add_node (array ('parent' => 'autos', 'id' => 'export', 'title' => 'Export Report', 'href' => $ urlexport, 'meta' => false )); } add_action ('admin_bar_menu', 'zmiana narzędzi', 999);Na obrazku widzimy, jak dostosowaliśmy i zainstalowaliśmy różne menu, aby ułatwić pracę z naszą witryną, a także stworzyliśmy nowe funkcjonalności, takie jak eksport raportu, który będzie kodem php, który musimy utworzyć i powiązać z menu w administracji wordpress płyta.
Do stworzenia własnego posta użyto wtyczki Niestandardowy interfejs użytkownika typu post które można pobrać i zainstalować w Wordpress przez tego samego administratora.
Aby dodać podmenu, zobaczmy następujący kod, identyfikator górnego menu to ten, który identyfikuje, kto jest menu nadrzędnym, w tym przypadku Samochody:
$ bar-> add_node (array ('id' => 'cars', 'title' => 'Samochody', 'href' => $ carlist, 'meta' => array ('target' => 'samochody') ));Aby dodać podmenu, musimy wskazać nowemu menu, kto jest menu nadrzędnym lub menu nadrzędnym, w tym celu używamy właściwości parent.
$ bar-> add_node (array ('parent' => 'cars', 'id' => 'newcar', 'title' => 'Dodaj samochody', 'href' => $ anadirauto, 'meta' => false ));W ten sposób moglibyśmy również rozszerzyć opcje naszego menu o podmenu. Zobaczmy przykład zaczynając od Eksportuj podmenu, dodajemy opcje eksportu, takie jak Excel i PDF.
$ bar-> add_node (array ('parent' => 'autos', 'id' => 'export', 'title' => 'Export Report', 'href' => $ urlexport, 'meta' => false )); $ bar-> add_node (array ('parent' => 'export', 'id' => 'exportarexcel', 'title' => 'Export Excel', 'href' => $ urlexportarexcel, 'meta' => false )); $ bar-> add_node (array ('parent' => 'export', 'id' => 'exportarpdf', 'title' => 'Eksportuj PDF', 'href' => $ urlexportarpdf, 'meta' => false ));WniosekJak widzieliśmy, możemy dostosować nasz panel administracyjny lub backend WordPress za pomocą zaczepów, które zapewnia nam Wordpress API, umożliwiając dodawanie lub usuwanie funkcjonalności.
Możemy więc nadać osobisty charakter panelowi administracyjnemu WordPress według użytkownika, jeśli dodamy możliwość identyfikacji, kto jest zalogowany.
Najbardziej doświadczeni programiści zalecają unikanie korzystania z domyślnego paska narzędzi Wordpress w panelu administracyjnym, zalecają usunięcie wszystkiego, co może być konfiguracją sieciową, takich jak ustawienia, wtyczki, motywy i pozostawienie użytkownikowi tego, czego potrzebujesz dodawaj i publikuj zawartość, pozostawiając wszystkie zadania konfiguracyjne i aktualizacje bardziej doświadczonym użytkownikom lub programistom.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt