Wtyczki_do_WordPressa_Programowanie_dla_profesjonalistow_wtywor.pdf

(1202 KB) Pobierz
833925137.001.png
Ty t uł oryginału: Professional WordPress Plugin Development
Tłumaczenie: Robert Górczyński
ISBN: 978-83-246-3564-1
© 2011 by Wiley Publishing, Inc., Indianapolis, Indiana
All Rights Reserved. Authorized translation from the English language edition published by John
Wiley & Sons Limited. Responsibility for the accuracy of the translation rests solely with Helion S. A.
and is not the responsibility of John Wiley & Sons Limited. No part of this book may be reproduced in
any form without the written permission of the original copyright holder, John Wiley & Sons Limited.
Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress
are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United
States and other countries, and may not be used without written permission. WordPress is a registered
trademark of Automattic, Inc. All other trademarks are the property of their respective owners.
Wiley Publishing, Inc. is not associated with any product or vendor mentioned in the book.
Translation copyright © 2012 by Wydawnictwo Helion.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za
ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich.
Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne
szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/wtywor.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wtywor
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
833925137.002.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
833925137.003.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
Zgłoś jeśli naruszono regulamin