WordPress. Tworzenie aplikacji internetowych

51.93

Description

WordPress, platformę przeznaczoną do tworzenia blogów, obsłuży nawet osoba niemająca pojęcia o programowaniu. Dziś jednak jest on czymś znacznie więcej niż systemem do zarządzania treścią. Kto zna PHP, HTML, CSS i JavaScript, może wykorzystać tę platformę do projektowania wydajnych, skalowalnych, bezpiecznych i elastycznych aplikacji internetowych oraz mobilnych, a także usług sieciowych. Wystarczy poza podstawowymi funkcjami i schematami poznać techniki tworzenia własnych wtyczek, motywów i usług. Łatwo się przekonać, że WordPress jest świetnym narzędziem do tworzenia funkcjonalnych aplikacji – i małych, i rozbudowanych!W tej książce znajdziesz wyczerpujący opis funkcjonalności WordPressa w wersji 5.4. Dowiesz się również, czy ta platforma spełni Twoje oczekiwania. Zapoznasz się z podstawami WordPressa i z bardziej zaawansowanymi zagadnieniami, takimi jak niestandardowe typy postów, metadane i taksonomie. Nauczysz się organizować kod zgodnie z zasadami programowania zorientowanego obiektowo, a także zapewniać swoim aplikacjom wysoki poziom bezpieczeństwa. Opisano tu również używanie JavaScriptu i technologii AJAX w aplikacji WordPressa oraz API REST i możliwości integracji z aplikacjami zewnętrznymi. Sporo miejsca poświęcono tematyce e-commerce i wtyczkom, które będą najodpowiedniejsze do tego typu aplikacji. Na końcu zamieszczono rozdział poświęcony przyszłości i perspektywom WordPressa.W książce między innymi:WordPress a standardowe frameworkimotywy i wtyczki WordPressazarządzanie kontami i rolami użytkowników oraz dostępem do danychrozwiązania asynchroniczne, integracja z bibliotekami PHP, zewnętrznymi API i wtyczkamiobsługa płatnościskalowanie aplikacji WordPressaWordPress: zbudujesz o wiele więcej!Spis treści:Przedmowa 19Wprowadzenie 211. Tworzenie aplikacji internetowych w WordPressie 27Czym jest witryna internetowa? 27Czym jest aplikacja? 27Czym jest aplikacja internetowa? 27Funkcje aplikacji internetowej 28Aplikacje mobilne 30Progresywne aplikacje internetowe 30Dlaczego WordPress? 31Jesteś już użytkownikiem WordPressa 31Zarządzanie treścią w WordPressie jest łatwe 31Łatwe i bezpieczne zarządzanie użytkownikami w WordPressie 32Wtyczki 32Elastyczność ma duże znaczenie 33Częste uaktualnienia zabezpieczeń 33Koszt 34Odpowiedź na często pojawiającą się krytykę wybranych aspektów WordPressa 34Kiedy nie używać WordPressa? 37Planujesz licencjonować lub sprzedawać technologię witryny internetowej 37Inna platforma szybciej doprowadzi Cię do celu 38Elastyczność jest bez znaczenia 38Aplikacja musi działać w czasie rzeczywistym 39WordPress jako framework aplikacji 39WordPress kontra frameworki MVC 40Anatomia aplikacji internetowej WordPressa 42Czym jest SchoolPress? 43SchoolPress działa w sieci zawierającej wiele witryn WordPressa 43Model biznesowy SchoolPressa 43Poziomy członkostwa i role użytkowników 44Klasy są grupami BuddyPress 44Zadanie to przykład CPT 44Rozwiązania zadań są podtypami CPT zadań 44Semestry to taksonomie dla CPT klasy 45Wydział to taksonomia dla CPT klasy 45Aplikacja SchoolPress ma jedną główną niestandardową wtyczkę 45Aplikacja SchoolPress używa kilku innych niestandardowych wtyczek 46Aplikacja SchoolPress używa motywu Memberlite 462. Podstawy WordPressa 47Struktura katalogu WordPressa 47Katalog główny 48/wp-admin 48/wp-includes 48/wp-content 48Struktura bazy danych WordPressa 50wp_options 50Funkcje zdefiniowane w /wp-includes/option.php 50wp_users 53Funkcje zdefiniowane w plikach /wp-includes/pluggable.php i /wp-includes/user.php 53wp_usermeta 57wp_posts 61Funkcje zdefiniowane w /wp-includes/post.php 61wp_postmeta 66Funkcje zdefiniowane w /wp-includes/post.php 66wp_comments 70Funkcje zdefiniowane w /wp-includes/comment.php 71wp_commentsmeta 75Funkcje zdefiniowane w /wp-includes/comment.php 76wp_terms 78Funkcje zdefiniowane w /wp-includes/taxonomy.php 78wp_termmeta 82wp_term_taxonomy 84Funkcje zdefiniowane w /wp-includes/taxonomy.php 85wp_term_relationships 86Zaczepy – akcje i filtry 87Akcje 88Filtry 88Środowiska programistyczne i hostingowe 90Praca lokalna 90Wybór hostingu 91Środowiska robocze i produkcyjne 92Rozszerzanie WordPressa 923. Stosowanie wtyczek WordPressa 95Licencja GPLv2 96Instalowanie wtyczek WordPressa 96Utworzenie własnej wtyczki 97Struktura plików we wtyczce 98/adminpages/ 99/classes/ 99/css/ 99/js/ 101/images/ 101/includes/ 102/includes/lib/ 102/pages/ 102/services/ 103/scheduled/ 103/schoolpress.php 104Dodatki dla istniejących wtyczek 104Przypadki użycia i przykłady 104Pętla WordPressa 105Zmienne globalne WordPressa 105Wtyczki bezpłatne 115Admin Columns 115Advanced Custom Fields 115BadgeOS 116Posts 2 Posts 116Members 117W3 Total Cache 117Yoast SEO 117Wtyczki premium 118Gravity Forms 118BackupBuddy 118WP All Import 118Wtyczki społecznościowe 119BuddyPress 1194. Motywy 131Motyw kontra wtyczka 131Gdzie umieścić kod podczas tworzenia aplikacji? 131Kiedy opracować wtyczkę? 132Gdzie umieszczać kod podczas tworzenia motywu? 133Hierarchia szablonu 133Szablony strony 135Przykładowy szablon strony 135Stosowanie zaczepów do kopiowania szablonów 137Kiedy należy używać szablonu motywu? 138Funkcje WordPressa powiązane z motywem 139Stosowanie funkcji locate_template() w motywach 140Plik style.css 141Wersjonowanie plików CSS motywu 142Plik functions.php 143Motywy i niestandardowe typy postów 144Popularne frameworki motywów 144Frameworki motywów WordPressa 144Frameworki motywów przeznaczone nie tylko dla WordPressa 146Tworzenie motywu potomnego dla Memberlite 146Wykorzystanie frameworka Bootstrap w motywie aplikacji 147Menu 148Menu nawigacyjne 148Menu dynamiczne 149Responsywny układ strony 150Wykrywanie urządzenia i ekranu za pomocą CSS 150Wykrywanie urządzeń i funkcji za pomocą kodu JavaScript 152Wykrywanie urządzenia w PHP 154Słowo końcowe na temat wykrywania przeglądarki WWW 1575. Niestandardowe typy postów, metadane postów i taksonomie 159Domyślne i niestandardowe typy postów 159Strona 159Post 159Załącznik 159Wersja 160Element menu nawigacyjnego 160Niestandardowe style CSS 160Changeset 160Bufor oEmbed 160Żądania użytkowników 161Bloki kodu wielokrotnego użycia 161Definiowanie i rejestrowanie niestandardowych typów postów 161register_post_type( $post_type, $args ); 162Co to jest taksonomia i jak należy z niej korzystać? 171Taksonomie kontra metadane posta 171Tworzenie niestandardowych taksonomii 173register_taxonomy( $taxonomy, $object_type, $args ) 173register_taxonomy_for_object_type( $taxonomy, $object_type ) 177Stosowanie niestandardowych typów postów i taksonomii we własnych motywach i wtyczkach 177Szablony stron archiwum i pojedynczego posta w motywie 177Stare dobre komponenty WP_Query i get_posts() 178Metadane w niestandardowych typach postów 181add_meta_box( $id, $title, $callback, $screen, $context, $priority, $callback_args ) 182Stosowanie elementów obsługi metadanych w edytorze bloków 184Opakowania klas dla niestandardowych typów postów 185Rozszerzanie klasy WP_Post kontra opakowanie obiektu tej klasy 187Po co używać klasy opakowania? 188CTP i taksonomie będą w jednym miejscu 188Definiowanie kodu w klasie opakowania 189Klasa opakowania jest czytelniejsza 1916. Użytkownicy, role i uprawnienia 193Pobieranie danych użytkownika 194Dodawanie, uaktualnianie i usuwanie użytkowników 196Zaczepy i filtry 199Czym są role i uprawnienia? 200Sprawdzanie ról i uprawnień użytkownika 200Tworzenie niestandardowych ról i uprawnień 202Rozszerzanie klasy WP_User 203Dodanie właściwości rejestracji i profilu 205Dostosowanie do własnych potrzeb tabeli użytkowników w panelu głównym 209Wtyczki 211Theme My Login 211Ukrycie paska administracyjnego przed użytkownikami niebędącymi administratorami 212Paid Memberships Pro 212Paid Memberships Pro Register Helper 212Members 213WP User Fields 2137. Praca z API WordPressa, obiektami i funkcjami pomocniczymi 215API skrótów 215Atrybuty skrótu 216Skróty zagnieżdżone 217Usunięcie skrótu 217Inne użyteczne funkcje powiązane ze skrótami 218API widżetów 219Zanim zaczniesz dodawać własny widżet 220Dodawanie widżetu 220Definiowanie obszaru widżetu 223Osadzanie widżetu poza dynamicznym paskiem bocznym 225API widżetów w panelu głównym WordPressa 226Usunięcie widżetu panelu głównego 227Dodawanie własnego widżetu panelu głównego 228API ustawień 231Czy naprawdę potrzebna jest strona ustawień? 231Czy zamiast ustawień można użyć zaczepu lub filtru? 232Stosowanie standardów podczas dodawania ustawień 233Ignorowanie standardów podczas dodawania ustawień 233API przepisywania adresów URL 234Dodawanie reguły przepisywania adresu URL 235Usuwanie reguły przepisywania adresu URL 236Inne funkcje przepisywania adresów URL 237WP-Cron 239Definiowanie niestandardowego odstępu czasu 241Tworzenie harmonogramu dla pojedynczych zdarzeń 241Wywoływanie zadań mechanizmu cron z serwera 242Stosowanie zadań mechanizmu cron jedynie po stronie serwera 243WP Mail 244Wysyłanie ładniejszych wiadomości e-mail za pomocą WordPressa 245API nagłówka pliku 246Dodawanie nagłówków plików do własnych plików 248Dodawanie nowych nagłówków do wtyczek i motywów 249API Heartbeat 2508. Bezpieczny WordPress 255Dlaczego bezpieczeństwo jest ważne? 255Podstawy zapewnienia bezpieczeństwa 256Regularnie uaktualniaj oprogramowanie 256Nie używaj nazwy użytkownika admin 256Używaj silnych haseł 256Przykłady beznadziejnych haseł 257Przykłady dobrych haseł 257Zabezpieczenie WordPressa 258Nie zezwalaj administratorowi na edycję wtyczek lub motywów 258Zmień domyślny prefiks tabel bazy danych 258Przenieś wp-config.php 259Ukryj komunikaty błędów logowania 259Ukryj numer wersji WordPressa 260Uniemożliw logowanie poprzez stronę wp-login.php 260Dodaj niestandardowe reguły .htaccess w celu zabezpieczenia strony wp-admin 261Certyfikaty SSL i HTTPS 262Instalacja certyfikatu SSL w serwerze 262Stosowanie szyfrowania SSL na stronach logowania i administracyjnych 265Debugowanie problemów związanych z HTTPS 266Zapobieganie błędom dzięki „opcji nuklearnej” 266Twórz kopię zapasową całości! 268Skanuj, skanuj i skanuj! 269Użyteczne wtyczki zapewnienia bezpieczeństwa 269Wtyczki związane z blokowaniem spamu 269Wtyczki związane z tworzeniem kopii zapasowej 270Wtyczki związane z zaporą sieciową i skanowaniem 270Wtyczki związane z logowaniem i hasłami 271Tworzenie bezpiecznego kodu 271Sprawdzenie uprawnień użytkownika 272Niestandardowe zapytania SQL 273Weryfikacja danych, ich oczyszczanie i stosowanie znaków sterujących 273Jednokrotnie używana liczba 2789. Frameworki JavaScript 285Co to jest ECMAScript 286Co to jest ES6 286Co to jest ES9 287Co to jest ESNext 287Co to jest AJAX 287Co to jest JSON 287jQuery i WordPress 287Dodawanie innych bibliotek JavaScript 288Gdzie umieszczać niestandardowy kod JavaScript 289Wywołania AJAX za pomocą WordPressa i jQuery 290Zarządzanie wieloma żądaniami AJAX 295API Heartbeat 296Ograniczenia WordPressa związane z przetwarzaniem asynchronicznym 301Frameworki JavaScript 302Backbone.js 302React 30310. API REST WordPressa 305Czym jest API REST? 305API 305REST 306JSON 306HTTP 306Dlaczego warto używać API REST WordPressa 309Używanie wersji drugiej API REST WordPressa 311Odkrycie 311Uwierzytelnianie 311Trasy i punkty końcowe 316Żądania 317Odpowiedź 320Dodawanie własnych tras i punktów końcowych 321register_rest_route( $namespace, $route, $args, $override ); 321Konfiguracja wtyczki Single Sign-On w WordPressie 322Dodanie trasy /wp-sso/v1/check 322Stosowanie uwierzytelniania prostego w omawianej wtyczce 323Używanie zdefiniowanego punktu końcowego do sprawdzenia danych uwierzytelniających użytkownika 324Popularne wtyczki używające API REST WordPressa 325WooCommerce 325BuddyPress 327Paid Memberships Pro 32811. Projekt Gutenberg, bloki i niestandardowe typy postów 333Edytor WordPressa 334Wtyczka Classic Editor 335Używanie bloków podczas tworzenia treści i projektu 335Używanie bloków do tworzenia funkcjonalności 335Tworzenie własnego bloku 335Przykład minimalnego bloku 336Używanie bloków niestandardowych do tworzenia aplikacji 337Włączenie edytora bloków w niestandardowych typach postów 338Kategorie bloków 338Bloki Homework 339Ograniczenie bloków do określonych CPT 339Ograniczenie CPT do określonych bloków 340Szablon bloku 341Zapisywanie danych bloku w metadanych posta 342Podpowiedzi 343Włączenie WP_SCRIPT_DEBUG 343Używanie wywołania filemtime() dla wersji skryptu 344Więcej podpowiedzi 344Poznaj dokładnie JavaScript, Node.js i React 34412. Sieć witryn internetowych WordPressa 347Dlaczego sieć witryn internetowych 347Dlaczego nie należy korzystać z sieci witryn 348Alternatywy dla sieci witryn 349Wielu autorów lub kategorii w tej samej witrynie WordPressa 349Niestandardowe typy postów 349Oddzielne witryny internetowe 349Używanie usługi konserwacji WordPressa 349Wielodostępność 350Przygotowanie sieci witryn 350Zarządzanie siecią witryn WordPressa 352Panel główny 353Witryny internetowe 353Użytkownicy 353Motywy 354Wtyczki 354Ustawienia 355Uaktualnienia 356Struktura bazy danych sieci witryn 356Tabele o zasięgu sieci 356Tabele poszczególnych witryn 358Współdzielone tabele witryny internetowej 359Mapowanie domeny 360Wtyczki użyteczne w sieci witryn internetowych 360Gravity Forms User Registration Add-On 361Dodatek Member Network Sites dla wtyczki Paid Memberships Pro 361Multisite Global Media 361Multisite Plugin Manager 361Multisite Robots.txt Manager 361NS Cloner – Site Copier 362WP Multi Network 362Podstawowa funkcjonalność sieci witryn WordPressa 362$blog_id 362is_multisite() 363get_current_blog_id() 363switch_to_blog( $new_blog ) 363restore_current_blog() 364get_blog_details( $fields = null, $get_all = true ) 364update_blog_details( $blog_id, $details = array() ) 366get_blog_status( $id, $pref ) 366update_blog_status( $blog_id, $pref, $value ) 367get_blog_option( $id, $option, $default = false ) 367update_blog_option( $id, $option, $value ) 367delete_blog_option( $id, $option ) 368get_blog_post( $blog_id, $post_id ) 368add_user_to_blog( $blog_id, $user_id, $role ) 369wpmu_delete_user( $user_id ) 369create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) 370Funkcje niewymienione w tym podrozdziale 37013. Lokalizacja aplikacji WordPressa 371Czy w ogóle zachodzi potrzeba lokalizacji aplikacji 371Jak lokalizacja jest przeprowadzana w WordPressie 372Definiowanie lokalizacji w WordPressie 372Domeny tekstu 373Definiowanie domeny tekstu 373Przygotowanie ciągów tekstowych za pomocą funkcji tłumaczeń 375__( $text, $domain = „default” ) 375_e( $text, $domain = „default” ) 376_x( $text, $context, $domain = „default” ) 376_ex( $title, $context, $domain = „default” ) 377Jednoczesne tłumaczenie tekstu i stosowanie znaków sterujących 377Tworzenie i wczytywanie plików tłumaczeń 377Struktura pliku do lokalizacji 378Generowanie pliku .pot 379Utworzenie pliku .po 380Utworzenie pliku .mo 381GlotPress 381Używanie narzędzia GlotPress dla wtyczek i motywów umieszczanych w repozytorium WordPress.org 381Utworzenie własnego serwera GlotPress 38114. Optymalizacja i skalowanie WordPressa 383Terminologia 383Źródło kontra krawędź 385Testowanie 385Co będzie testowane 386Pasek debugowania w Chrome 388Narzędzie Stan witryny WordPressa 390Apache Bench 390Siege 397W3 Total Cache 397Ustawienia Page Cache 398Minimalizacja 400Buforowanie bazy danych 401Buforowanie obiektów 401Sieć CDN 402Kompresja GZIP 402Hosting 402Hosting przygotowany z myślą o WordPressie 403Utworzenie własnego serwera 403Buforowanie selektywne 416API Transient 416Elementy tymczasowe dla wielu witryn internetowych 419Używanie JavaScriptu do poprawy wydajności działania 420Tabele niestandardowe 421Pominięcie WordPressa 42315. E-commerce 425Wybór wtyczki 425WooCommerce 426Paid Memberships Pro 428Easy Digital Downloads 429Bramki płatności 432Konto sprzedawcy 432Konfigurowanie modelu Saas przy użyciu wtyczki Paid Memberships Pro 434Model SaaS 434Etap 0. – ustalenie sposobu pobierania opłaty za korzystanie z aplikacji 434Etap 1. – instalowanie i aktywowanie wtyczki Paid Memberships Pro 435Etap 2. – ustalenie poziomu członkostwa 435Etap 3. – konfiguracja stron 437Etap 4. – wybór ustawień płatności 437Etap 5. – wybór ustawień wiadomości e-mail 439Etap 6. – wybór ustawień zaawansowanych 440Etap 7. – uniemożliwianie dostępu do stron 441Etap 8. – dostosowanie wtyczki Paid Memberships Pro do własnych potrzeb 44316. Aplikacje mobilne na bazie WordPressa 449Przypadki użycia aplikacji mobilnych 449Natywne i hybrydowe aplikacje mobilne 450Co to jest natywna a
likacja mobilna 450Co to jest hybrydowa aplikacja mobilna 451Dlaczego lepiej wybrać aplikację hybrydową zamiast natywnej 451Cordova 452Framework Ionic 457Opakowanie aplikacji 458AppPresser 45917. Biblioteki PHP, integracje usług sieciowych, migracje platform 475Biblioteki PHP 475Generowanie i przetwarzanie obrazów 476Generowanie dokumentu PDF 478Geolokalizacja i geotargetowanie 483Kompresja i archiwizowanie plików 485Narzędzia programistyczne 489Zewnętrzne API i usługi sieciowe 491Elasticsearch 491ElasticPress firmy 10up 491Google Vision 492Mapy Google 492Tłumacz Google 493Twilio 493Inne popularne interfejsy API 494Migracje 495Migracja hosta 496Migracja platformy 497Utworzenie przewodnika mapowania danych 49918. Przyszłość 501Jak to było wcześniej 501API REST 502Wtyczki WordPressa będą bardziej skoncentrowane na API 502Headless WordPress 502GraphQL 503Projekt Gutenberg 504Interfejs administracyjny zostanie przeniesiony do rozwiązania opartego na React i Gutenberg 504Gutenberg zapewni obsługę edycji we frontendzie WordPressa 504Szablon bloku zastąpi motyw 504Bloki zastąpią wtyczki 505Udział WordPressa w rynku będzie się zmieniał 505WordPress stanie się znacznie popularniejszą platformą do tworzenia aplikacji mobilnych 506WordPress wciąż będzie użyteczny podczas tworzenia różnych aplikacji internetowych 506

Informatyka

składka zdrowotna styczeń 2022, bony żywnościowe sodexo, ile alkoholu mozna przewiezc za granice, agencja celna korczowa, stoiska promocyjne, adrian nikiel, po infrastruktura i środowisko, iwz, praca pińczów od zaraz, województwo śląskie, potrącenia komornicze z umowy zlecenia, mates tłumaczenie, polska – słowenia, dobre buty robocze forum, mergers and acquisitions, amerykańskie sklepy spożywcze

yyyyy