wtyczki do wordpressa. programowanie dla profesjonalistów cała książka.pdf

(32263 KB) Pobierz
888871918.001.png
Spis treści 5
Spis treści
O autorach ..................................................................................................... 15
Wstęp ............................................................................................................. 17
Wprowadzenie .............................................................................................. 19
Rozdział 1.
Wprowadzenie do wtyczek .......................................................................... 23
Co to jest wtyczka? .......................................................................................................23
W jaki sposób wtyczki współdziałają z platformą WordPress? .......................24
Kiedy wtyczki są wczytywane? ..............................................................................25
Dostępne wtyczki ..........................................................................................................25
Oficjalny katalog wtyczek ......................................................................................26
Przykłady popularnych wtyczek ...........................................................................26
Popularne tagi wtyczek ..........................................................................................27
Zalety wtyczek ...............................................................................................................27
Brak konieczności modyfikacji jądra platformy ................................................27
Nie trzeba wyważać otwartych drzwi ..................................................................28
Oddzielenie wtyczek i motywów ..........................................................................28
Łatwe uaktualnienia ...............................................................................................29
Łatwiejsze dzielenie się wtyczkami i ich ponowne używanie ...........................29
Wtyczki są oddzielone od siebie ...........................................................................29
Społeczność tworząca wtyczki ..............................................................................30
Instalacja wtyczek i zarządzanie nimi ........................................................................30
Instalacja wtyczki ....................................................................................................30
Zarządzanie wtyczkami .........................................................................................31
Edycja wtyczek ........................................................................................................31
Katalog wtyczek ......................................................................................................32
Typy wtyczek ...........................................................................................................32
Testowanie funkcji wtyczek ..................................................................................33
Podsumowanie ..............................................................................................................34
Rozdział 2.
Podstawy wtyczek ........................................................................................ 35
Utworzenie pliku wtyczki ............................................................................................35
Nadanie nazwy wtyczce .........................................................................................35
Używanie katalogu .................................................................................................36
Stosowanie rozsądnych praktyk .................................................................................36
Stosowanie prefiksu w każdej sytuacji .................................................................36
Organizacja pliku ....................................................................................................37
Struktura katalogów ...............................................................................................37
888871918.002.png
6 WTYCZKI DO WORDPRESSA
Wymagania dotyczące nagłówka ................................................................................38
Utworzenie nagłówka ............................................................................................38
Licencja wtyczki ......................................................................................................39
Określanie ścieżek dostępu ..........................................................................................39
Ścieżki dostępu wtyczki .........................................................................................40
Lokalne ścieżki dostępu .........................................................................................40
Adresy URL .............................................................................................................41
Aktywacja i dezaktywacja funkcji ...............................................................................42
Funkcja aktywacji wtyczki .....................................................................................42
Utworzenie ustawień domyślnych podczas aktywacji ......................................43
Funkcja dezaktywacji wtyczki ...............................................................................43
Dezaktywacja to nie dezinstalacja wtyczki ..........................................................44
Metody dezinstalacji .....................................................................................................44
Dlaczego dezinstalacja wtyczki jest konieczna? .................................................44
Plik uninstall.php ...................................................................................................44
Zaczep uninstall ......................................................................................................45
Standardy tworzenia kodu ...........................................................................................46
Twórz dokumentację kodu ...................................................................................46
Nazwy zmiennych, funkcji i plików .....................................................................47
Apostrof i cudzysłów ..............................................................................................47
Wcięcia .....................................................................................................................48
Styl stosowania nawiasów ......................................................................................48
Używanie spacji ......................................................................................................49
Skrócone znaczniki PHP .......................................................................................49
Polecenia SQL .........................................................................................................49
Lista rzeczy do sprawdzenia podczas prac nad wtyczkami .....................................49
Podsumowanie ..............................................................................................................50
Rozdział 3.
Zaczepy .......................................................................................................... 51
Akcje ...............................................................................................................................52
Czym jest akcja? ......................................................................................................53
Funkcje zaczepu akcji ............................................................................................54
Najczęściej używane zaczepy akcji .......................................................................58
Filtry ...............................................................................................................................61
Funkcje zaczepu filtru ............................................................................................63
Funkcje szybko zwracające wartość .....................................................................67
Najczęściej używane zaczepy filtru ......................................................................68
Używanie zaczepów z poziomu klasy ........................................................................71
Tworzenie własnych zaczepów ...................................................................................72
Zalety utworzenia własnego zaczepu ...................................................................73
Przykład utworzenia własnego zaczepu akcji .....................................................73
Przykład własnego zaczepu filtru .........................................................................73
W jaki sposób wyszukiwać zaczepy? ..........................................................................75
Wyszukiwanie zaczepów w kodzie tworzącym jądro WordPress ...................75
Zaczepy zmienne ....................................................................................................75
Listy zaczepów ........................................................................................................76
Podsumowanie ..............................................................................................................76
 
Spis treści 7
Rozdział 4.
Integracja z platformą WordPress ............................................................... 77
Dodawanie menu i podmenu .....................................................................................77
Utworzenie menu najwyższego poziomu ...........................................................77
Dodawanie podmenu .............................................................................................78
Dodawanie elementu menu do już istniejącego menu ......................................80
Tworzenie widgetów ....................................................................................................82
Utworzenie widgetu ...............................................................................................82
Widget zaawansowany ...........................................................................................87
Tworzenie widgetów kokpitu ...............................................................................92
Utworzenie widgetu kokpitu wraz z opcjami .....................................................93
Pola użytkowników ......................................................................................................96
Dodawanie własnego pola użytkownika .............................................................97
Zapis danych pola użytkownika ...........................................................................97
Zaawansowane pole użytkownika ......................................................................101
Zachowanie spójności ................................................................................................106
Korzystanie z interfejsu użytkownika platformy WordPress .........................106
Podsumowanie ............................................................................................................113
Rozdział 5.
Internacjonalizacja ..................................................................................... 115
Internacjonalizacja i tłumaczenie na inne języki ....................................................115
Dlaczego warto przeprowadzać internacjonalizację? ......................................116
Zrozumienie zagadnienia internacjonalizacji w profesjonalnej pracy ..........116
Przygotowanie wtyczki do tłumaczenia na inne języki ...................................117
Wyświetlanie i zwracanie ciągów tekstowych ..................................................118
Używanie miejsc zarezerwowanych ...................................................................125
Internacjonalizacja kodu JavaScript ..................................................................127
Tworzenie plików tłumaczenia .................................................................................130
Pliki MO i PO ........................................................................................................130
Narzędzia służące do tłumaczenia .....................................................................130
W jaki sposób utworzyć plik POT? ....................................................................131
Gdzie przechowywać pliki tłumaczeń? ..............................................................131
Podsumowanie ............................................................................................................132
Rozdział 6.
Bezpieczeństwo wtyczki ............................................................................. 133
Zabezpieczenie wtyczki ..............................................................................................133
Czym jest zapewnienie bezpieczeństwa wtyczce? ............................................134
Czym nie jest zapewnienie bezpieczeństwa wtyczce? ......................................134
Uprawnienia użytkownika ........................................................................................134
W jaki sposób używać funkcji current_user_can()? ........................................134
Nie sprawdzaj zbyt wcześnie ...............................................................................135
Unikalne identyfikatory .............................................................................................136
Uprawnienia kontra zamiary ..............................................................................136
Czym jest unikalny identyfikator? .....................................................................137
Jak tworzyć i weryfikować unikalne identyfikatory? .......................................137
Unikalne identyfikatory w skryptach Ajax .......................................................142
Weryfikacja i oczyszczenie danych ..........................................................................143
Potrzeba weryfikacji i oczyszczania danych .....................................................143
Dobra praktyka: identyfikacja potencjalnie niebezpiecznych danych ..........144
Weryfikacja czy oczyszczanie danych wejściowych? .......................................146
Przykłady weryfikacji i oczyszczania danych ...................................................147
8 WTYCZKI DO WORDPRESSA
Formatowanie poleceń SQL ......................................................................................163
Obiekt $wpdb ........................................................................................................163
Dlaczego metody obiektu wpdb są lepsze? .......................................................163
Metody typu „wszystko w jednym” ...................................................................164
Najczęściej stosowane metody ............................................................................166
Ochrona zapytań przed atakami typu SQL Injection ......................................170
Różne metody i właściwości obiektu wpdb ......................................................172
Dobre nawyki bezpieczeństwa ..................................................................................172
Podsumowanie ............................................................................................................174
Rozdział 7.
Ustawienia wtyczki ..................................................................................... 175
API Options .................................................................................................................175
Zapisywanie opcji .................................................................................................175
Zapisywanie tablicy opcji ....................................................................................176
Pobieranie opcji ....................................................................................................177
Wczytywanie tablicy opcji ...................................................................................178
Usuwanie opcji ......................................................................................................178
Parametr autoload ................................................................................................179
API Settings .................................................................................................................180
Zalety API Settings ...............................................................................................181
Funkcje API Settings ............................................................................................181
Zebranie całości: pełna strona zarządzania wtyczką .......................................185
Usprawnienie reakcji funkcji i weryfikacja błędów .........................................187
Dodawanie pól na istniejącej stronie .................................................................188
API Transients ............................................................................................................192
Zapisywanie opcji, która ma utracić ważność ..................................................192
Pobieranie opcji, która ma utracić ważność .....................................................192
Usunięcie opcji, która utraciła ważność ............................................................192
Praktyczny przykład użycia krótkotrwałych danych .......................................193
Szczegółowe informacje techniczne ...................................................................193
Idea krótkotrwałych danych ...............................................................................193
Zapisywanie ustawień poszczególnych użytkowników .........................................194
Tworzenie wtyczki ................................................................................................194
Metadane użytkownika ........................................................................................194
Uaktualnianie metadanych użytkownika ..........................................................195
Pobieranie metadanych użytkownika ................................................................196
Usunięcie metadanych użytkownika .................................................................196
Pobieranie identyfikatora użytkownika ............................................................197
Dodawanie pól na stronie profilu ......................................................................197
Wtyczka BOJ Admin Lang ..................................................................................199
Ustawienia dla poszczególnych użytkowników — najlepsze praktyki .........200
Przechowywanie danych we własnych tabelach .....................................................201
Typy danych ..........................................................................................................201
Standardowe tabele WordPress ..........................................................................202
Tworzenie własnej tabeli .....................................................................................202
Uaktualnienie struktury własnej tabeli ..............................................................203
Uzyskanie dostępu do własnej tabeli .................................................................206
Podsumowanie ............................................................................................................207
 
Zgłoś jeśli naruszono regulamin