WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples...

212
WordPress #wordpress

Transcript of WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples...

Page 1: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

WordPress

#wordpress

Page 2: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Sommario

Di 1

Capitolo 1: Iniziare con WordPress 2

Osservazioni 2

Versioni 3

Examples 4

Introduzione a WordPress 5

Temi di WordPress 5

Mappatura di URL a modelli specifici 5

Struttura di directory del tema di base 6

Esempio di "singolo" (modello per un singolo post) 6

Esempio di un "archivio" (modello per un elenco di più post) 7

Post, pagine, tipi di post personalizzati e campi personalizzati 7

Capitolo 2: add_action () 9

Sintassi 9

Parametri 9

Examples 9

Richiamo della funzione diretta 9

Callback di riferimento nome funzione 9

Callback del metodo statico di classe 10

Callback del metodo dell'oggetto 10

Capitolo 3: add_editor_style () 11

introduzione 11

Sintassi 11

Parametri 11

Examples 11

Caricamento di un singolo file CSS 11

Capitolo 4: add_menu_page () 12

introduzione 12

Sintassi 12

Page 3: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Parametri 12

Osservazioni 12

Examples 13

Aggiunta dell'elemento "Titolo pagina tema" alla barra di navigazione 13

OOP e come caricare script / stili nella pagina del menu 14

Capitolo 5: add_submenu_page () 16

introduzione 16

Sintassi 16

Parametri 16

Osservazioni 16

Examples 17

Aggiungere la "Pagina sottomenu" come una pagina secondaria di "Strumenti" alla barra di n 17

Capitolo 6: add_theme_support () 19

introduzione 19

Sintassi 19

Parametri 19

Osservazioni 19

Examples 19

Aggiunta del supporto per i temi per i formati dei post 19

Aggiunta del supporto per i temi per postare le miniature ai post 19

Capitolo 7: Admin Dashboard Widgets 21

introduzione 21

Sintassi 21

Parametri 21

Examples 21

Widget semplice (visualizza testo) 21

Capitolo 8: Aggiorna WordPress manualmente 23

Examples 23

VIA FTP 23

Capitolo 9: Aggiungi / rimuovi le informazioni di contatto per gli utenti con hook del fil 24

Examples 24

Page 4: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Abilitare i social network più popolari 24

Rimozione del metodo di contatto 25

Capitolo 10: Aggiungi Shortcode 26

Sintassi 26

Parametri 26

Osservazioni 26

Examples 26

Shortcode semplice per post recenti 26

Shortcode avanzato per i post recenti 27

Capitolo 11: AJAX 28

Examples 28

Richiesta AJAX con una risposta JSON 28

AJAX con .ajax () e WordPress Nonce 29

wp_ajax - funzionalità di base + controllo _wpnonce 30

Invio di ajax OOP utilizzando una classe semplice con nonce 31

Capitolo 12: API REST 35

introduzione 35

Osservazioni 35

Examples 36

Esempio di lavoro completo 36

Capitolo 13: Azioni e filtri 38

Sintassi 38

Parametri 38

Osservazioni 38

Examples 41

add_action - init 41

add_action - init - funzione anonima 41

add_action - init - all'interno dell'oggetto di classe 41

add_action - init - all'interno della classe statica 42

Capitolo 14: Ciclo principale alternato (pre_get_posts filter) 43

Sintassi 43

Parametri 43

Page 5: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Osservazioni 43

Examples 43

Targeting di loop ancora più specifico 43

Mostra i post di una sola categoria 44

I messaggi pre-get filtrano l'utilizzo di base 44

Escludi categoria dall'elenco di post modifica condividi 44

Cambia posts_per_page per il ciclo principale 45

Targeting del solo ciclo principale di WordPress 45

Capitolo 15: Ciclo WP_Query () 46

introduzione 46

Examples 46

Recupera gli ultimi 10 post 46

Capitolo 16: Codice corto 47

Examples 47

Registrazione di shortcode 47

Utilizzo di Shortcode nel backend di WordPress 47

Aggiunta di nuovi codici brevi 47

Utilizzo di Shortcode all'interno del codice PHP (temi e plugin) 48

Utilizzo di Shortcode in Widget 48

Capitolo 17: Come posso integrare Markdown editor con Add-on del ripetitore Advance Custom49

Examples 49

Aggiungi MarkDown Editor 49

Capitolo 18: Crea un modello per il tipo di messaggio personalizzato 50

Examples 50

Creazione di un modello personalizzato per il libro di tipo Post personalizzato 50

Modelli di tipo di messaggio personalizzato 50

Archivio tipo di post personalizzato: 50

Modello singolo post personalizzato: 52

Capitolo 19: Crea un post programmaticamente 54

Sintassi 54

Parametri 54

Osservazioni 54

Page 6: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

argomenti 54

Evita i messaggi duplicati 56

Spiegazione 56

Examples 56

introduzione 56

Crea un post di base 56

Crea una pagina di base 57

Capitolo 20: Creare un modello personalizzato 58

Examples 58

Creazione di un modello vuoto di base 58

Compreso l'intestazione e il piè di pagina nel nostro modello 59

Modello personalizzato con contenuto 60

Capitolo 21: Creazione di plugin WordPress 62

introduzione 62

Examples 62

Setup minimo di una cartella e file di plugin 62

Capitolo 22: Customizer Hello World 64

Parametri 64

Examples 64

Ciao esempio del mondo 64

Capitolo 23: Debug 66

introduzione 66

Osservazioni 66

Examples 66

WP_DEBUG 66

WP_DEBUG_LOG 66

WP_DEBUG_DISPLAY 66

SCRIPT_DEBUG 67

SAVEQUERIES 67

Esempio di wp-config.php e buone pratiche per il debug 67

Vedi i log in un file separato 68

Capitolo 24: dentro 69

Page 7: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Sintassi 69

Osservazioni 69

Examples 69

Elaborazione dei dati di richiesta $ _POST 69

Elaborazione dei dati di richiesta $ _GET 69

Registrazione di un tipo di messaggio personalizzato 69

Capitolo 25: Esegui WordPress locale con XAMPP 70

introduzione 70

Examples 70

1. Installazione di XAMPP 70

2. Configurare un database dopo aver installato XAMPP 70

3. Installazione di WordPress dopo aver installato il database 70

Capitolo 26: Esercizi personalizzati con excerpt_length e excerpt_more 72

Examples 72

Limita la lunghezza dell'estratto a 50 parole 72

Aggiunta di un collegamento Leggi altro alla fine dell'estratto 72

Aggiunta di alcuni punti alla fine dell'estratto 73

Capitolo 27: Fare richieste di rete con l'API HTTP 75

Sintassi 75

Parametri 75

Osservazioni 75

ritorna 75

Examples 75

OTTIENI una risorsa JSON remota 75

Capitolo 28: Funzione: add_action () 76

Sintassi 76

Parametri 76

Osservazioni 76

Examples 76

Azione base Hook 76

Azione Hook Priority 77

Agganciare i metodi di classe e oggetto alle azioni 77

Page 8: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Oggetto Metodo Azione Ganci 78

Ganci di azione del metodo di classe 78

Capitolo 29: Funzione: wp_trim_words () 80

Sintassi 80

Parametri 80

Examples 80

Ritaglio dei contenuti del post 80

Capitolo 30: Gerarchia dei modelli 81

Osservazioni 81

Examples 81

introduzione 81

Debug 83

Capitolo 31: get_bloginfo () 84

introduzione 84

Sintassi 84

Parametri 84

Osservazioni 84

Examples 86

Ottenere il titolo del sito 86

Ottenere la tagline del sito 87

Ottenere l'URL del tema attivo 88

Ottieni l'URL del sito 89

Ottieni l'indirizzo email dell'amministratore del sito 89

Capitolo 32: get_home_path () 90

introduzione 90

Parametri 90

Osservazioni 90

Differenza importante tra get_home_path() e ABSTPATH 90

Usandolo nel tuo codice 91

Examples 91

uso 91

Page 9: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 33: get_option () 92

introduzione 92

Sintassi 92

Parametri 92

Osservazioni 92

Examples 92

Mostra il titolo del blog 92

Nome del blog in stile H1 93

Mostra set di caratteri 93

Gestire le opzioni non esistenti 93

Capitolo 34: get_permalink () 94

introduzione 94

Sintassi 94

Parametri 94

Osservazioni 94

Examples 94

Semplice utilizzo di get_parmalink 94

Specificare il post per ottenere il collegamento 94

Ottieni il link senza il nome del post 95

Capitolo 35: get_template_part () 96

Sintassi 96

Parametri 96

Examples 96

Carica una parte modello da una sottocartella 96

Ottieni un file specifico 96

Capitolo 36: get_template_part () 97

introduzione 97

Sintassi 97

Parametri 97

Examples 97

Incluso un modello personalizzato 97

Page 10: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Incluso un modello personalizzato con un nome file separato dal trattino 97

Incluso un modello personalizzato da una directory 98

Incluso un modello personalizzato con un nome file separato da un trattino situato all'int 98

Passaggio della variabile all'ambito del modello personalizzato 98

Capitolo 37: get_template_part () 99

Sintassi 99

Parametri 99

Examples 99

Caricamento parte del modello 99

Capitolo 38: get_the_category () 100

introduzione 100

Sintassi 100

Parametri 100

Osservazioni 100

Examples 100

Ottieni tutti i nomi delle categorie del post 101

Ottieni tutti gli ID di categorie del post 101

Capitolo 39: get_the_title () 102

introduzione 102

Sintassi 102

Parametri 102

Osservazioni 102

Examples 102

Semplice utilizzo di get_the_title 102

Ottieni il titolo di un ID post specificato 102

Capitolo 40: HOME_URL () 104

Sintassi 104

Parametri 104

Examples 104

Ottenere l'URL della casa 104

Indirizzo del sito 104

Page 11: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 41: il titolo() 105

introduzione 105

Sintassi 105

Parametri 105

Osservazioni 105

Examples 105

Semplice uso di the_title 105

Stampa del titolo con il codice prima e dopo 105

Capitolo 42: Installazione e configurazione 107

Examples 107

Wordpress su LAMP 107

Installazione WP in MAMP 108

Capitolo 43: L'oggetto $ wpdb 110

Osservazioni 110

Examples 110

Selezione di una variabile 110

Selezione di più righe 110

Capitolo 44: La barra di amministrazione (aka "The Toolbar") 112

Osservazioni 112

Examples 112

Rimozione della barra degli strumenti di amministrazione da tutti tranne gli amministrator 112

Rimozione della barra degli strumenti di amministrazione utilizzando i filtri 112

Come rimuovere WordPress Logo dalla barra di amministrazione 112

Aggiungi il tuo logo personalizzato e il link personalizzato nella pagina di accesso dell' 113

Capitolo 45: Messaggi di ricerca 114

Sintassi 114

Parametri 114

Osservazioni 114

Non utilizzare mai query_posts () 114

Examples 115

Usando l'oggetto WP_Query () 115

Page 12: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Utilizzando get_posts () 115

Capitolo 46: Meta Box 117

introduzione 117

Sintassi 117

Osservazioni 117

Examples 117

Un semplice esempio con un input regolare e un input select 117

Capitolo 47: Migrazione del sito 120

Sintassi 120

Examples 120

Aggiornamento delle tabelle con un nuovo URL 120

Capitolo 48: Nozioni di base sui temi del bambino 121

Sintassi 121

Osservazioni 121

Examples 121

2) Lo scopo 121

Definizione e requisiti 122

3) Sovrascrittura modello 122

Sostituzione delle risorse 123

Capitolo 49: Nozioni di base sulla personalizzazione (aggiungi pannello, sezione, impostaz 125

Examples 125

Aggiungi un pannello di personalizzazione 125

Aggiungi una sezione di personalizzazione con le impostazioni di base e i relativi control 125

Capitolo 50: Opzioni API 129

introduzione 129

Sintassi 129

Osservazioni 129

Examples 129

get_option 130

add_option 130

delete_option 130

update_option 130

Page 13: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 51: Post formati 131

Osservazioni 131

Examples 131

Aggiunta di un post al tema 131

Aggiungi post-formati alla "pagina" post_type 131

Registra il tipo di messaggio personalizzato "my_custom_post_type" 131

Aggiungi post-formati a post_type 'my_custom_post_type' 132

Registra il tipo di messaggio personalizzato "my_custom_post_type" con il parametro "suppo 132

Aggiungi supporto tematico per post 132

Chiamata di funzione 132

Capitolo 52: Proteggi la tua installazione 133

Osservazioni 133

Examples 133

Disattiva Editor di file 133

Muovi wp-config.php 133

Imposta un prefisso personalizzato per le tabelle di WordPress 134

Capitolo 53: Rimuovi interruzioni di riga automatiche dal contenuto e dall'estratto 139

introduzione 139

Osservazioni 139

Examples 139

Rimuovi i filtri 139

Funzione per rimuovere i filtri 139

Capitolo 54: Rimuovi la versione da Wordpress e Stylesheets 141

introduzione 141

Sintassi 141

Parametri 141

Osservazioni 141

Examples 141

Rimuovi i numeri di versione da css / js 141

Rimuovi i numeri di versione da WordPress 142

Capitolo 55: Scansioni di script 143

Sintassi 143

Page 14: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Parametri 143

Examples 143

Scoraggiando gli script in functions.php 143

Script Enqueue solo per IE 144

Scoraggiando script in modo condizionale per pagine specifiche 144

Capitolo 56: Shortcode con attributo 146

Sintassi 146

Parametri 146

Osservazioni 146

Examples 146

Esempi di Shortcode 146

Creazione di uno shortcode autochiudente 147

Creazione di uno shortcode autochiudente con parametri 147

Creare un shortcode che racchiude 147

Shortcode in Widget 148

Capitolo 57: Shortcodes 149

Examples 149

Introduzione Shortcode 149

Pulsante shortcode 149

Capitolo 58: Sicurezza in WordPress - Escaping 151

Sintassi 151

Osservazioni 151

Examples 151

sfuggire i dati nel codice HTML 151

sfuggire a un URL 151

dati di escape nel codice js 152

attributi di fuga 152

dati di fuga in textarea 152

Capitolo 59: Sicurezza in WordPress - Sanitizzazione 153

Sintassi 153

Osservazioni 153

Examples 153

Page 15: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Disinfetta il campo di testo 153

Sanificare il titolo 153

Sanificare l'e-mail 154

Sanitizza la classe html 154

Sanitizza il nome del file 154

Disinfetta il nome utente 154

Capitolo 60: sidebars 155

Sintassi 155

Parametri 155

Osservazioni 155

Examples 155

Registrazione delle barre laterali 155

Ottieni Sidebar 156

Capitolo 61: Stili accattivanti 157

Sintassi 157

Parametri 157

Examples 157

Compreso il file css interno con un altro file css come dipendenza 157

Compreso il file css interno 157

Compreso il file css esterno 158

Accoda i fogli di stile solo per IE 158

Compreso il file css interno per la tua classe Plugin 158

Aggiungi fogli di stile alternativi 158

Capitolo 62: Sviluppo di plugin 160

Sintassi 160

Parametri 160

Osservazioni 160

Examples 161

Filtro 161

Azione 161

Esempi di sviluppo di plugin: Widget canzone preferita 161

Capitolo 63: Tassonomie 164

Page 16: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Sintassi 164

Parametri 164

Examples 164

Esempio di registrazione di una tassonomia per i generi 164

Aggiungi categoria nella pagina 165

Aggiungi categorie e tag alle pagine e inseriscile come classe in 165

Aggiungi categorie e tag alle pagine e inserisci come classe in 166

Capitolo 64: Tema Wordpress e sviluppo del tema bambino 168

introduzione 168

Examples 168

Sviluppare il tuo tema 168

Capitolo 65: Temi 171

introduzione 171

Examples 171

Temi di WordPress 171

Come scegliere un tema 171

Aggiornamento disponibile 171

Installa i temi 172

Creare un tema personalizzato 173

Capitolo 66: template_include 174

Parametri 174

Osservazioni 174

Examples 174

Semplice esempio 174

Altro esempio di Adv 175

Capitolo 67: The Loop (ciclo principale di WordPress) 176

Examples 176

Struttura del ciclo WordPress di base 176

Sintassi del loop alternativo 176

Maneggiare nessun oggetto nel loop 176

Capitolo 68: Tipi di messaggi personalizzati 178

Page 17: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Sintassi 178

Parametri 178

Examples 178

Registrazione di un tipo di messaggio personalizzato 178

Aggiungi tipi di post personalizzati alla query principale 179

Aggiunta di tipi di post personalizzati al feed RSS principale 180

Registra il tipo di messaggio personalizzato 180

Tipo di messaggio personalizzato utilizzando Twenty Fifteen WordPress Theme 181

Tipo di post personalizzato nella ricerca predefinita 182

Capitolo 69: wp_get_current_user () 183

Sintassi 183

Examples 183

Ottenere l'utente corrente 183

Utilizza il ciclo foreach per ottenere le informazioni utente da wp_get_current_user () 183

Capitolo 70: wp_get_current_user () 184

Examples 184

Ricevi le informazioni dell'utente connesso corrente 184

Capitolo 71: WP-CLI 185

introduzione 185

Examples 185

Gestisci temi 185

Gestisci i plugin 185

Gestisci WP-CLI stessa 186

Scarica, installa, aggiorna e gestisci l'installazione di WordPress. 187

Gestisci gli utenti 187

Eseguire le operazioni di base del database utilizzando le credenziali memorizzate in wp-c 187

Capitolo 72: WP-Cron 189

Examples 189

wp_schedule_event () esempio 189

intervallo di ricorrenza personalizzato in wp_schedule_event () 189

Titoli di coda 191

Page 18: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Di

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: wordpress

It is an unofficial and free WordPress ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official WordPress.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

https://riptutorial.com/it/home 1

Page 19: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 1: Iniziare con WordPress

Osservazioni

WordPress è un Content Management System (CMS) open source che viene utilizzato per creare e gestire siti Web. WordPress è il CMS più popolare su Internet da un miglio di campagna, alimentando circa la metà di tutti i siti Web CMS al momento della scrittura e circa un quarto di tutti i siti Web su Internet.

WordPress ha iniziato la sua vita come piattaforma per i blog, ma si è evoluto nel corso degli anni per essere adatto alla maggior parte dei tipi di siti web. L'interfaccia può essere utilizzata senza la conoscenza della codifica, rendendola popolare per i principianti e gli sviluppatori che desiderano potenziare i propri clienti nella gestione del proprio sito web.

Un altro grande fattore nella popolarità di WordPress è la sua flessibilità, dovuta principalmente al plugin del core e ai sistemi di tematizzazione. Il sistema di plugin rende facile estendere le funzionalità di base senza modificare il codice di base. In modo simile, il sistema di temi facilita la modifica del layout e dell'estetica del sito web. Ora ci sono migliaia di plugin e temi gratuiti per WordPress gratuiti. Molti di questi si trovano rispettivamente nel repository di plugin wordpress.org e nel repository di temi .

WordPress è sviluppato dalla propria comunità, ma è fortemente associato alla società Automattic , che impiega molti sviluppatori core di WordPress.

https://riptutorial.com/it/home 2

Page 20: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Codice

WordPress si basa sul linguaggio di scripting del server PHP e sul linguaggio di query MySQL . WordPress utilizza MySQL come archivio dati per il contenuto e la configurazione dell'utente. Il PHP risolve i dati dei contenuti in una pagina Web HTML con tutte le risorse necessarie.

wordpress.com vs wordpress.org

Puoi utilizzare WordPress iscrivendoti al servizio wordpress.com di Automattic e ospitando il tuo sito Web sui loro server, oppure puoi scaricare il software WordPress da wordpress.org e ospitare il tuo sito web su un server sotto il tuo controllo. La prima opzione è semplice ma non puoi modificare alcun codice sito. È possibile apportare modifiche solo tramite l'interfaccia di WordPress. La seconda opzione richiede più lavoro, ma ti dà la flessibilità di fare quello che vuoi con il codice del tuo sito web. Se sei un utente di StackOverflow, probabilmente andrai con la seconda opzione.

Open Source

WordPress è un software open source che significa che è gratuito e chiunque può visualizzare il codice sorgente e contribuire ad esso. I potenziali collaboratori possono iniziare leggendo la pagina di Contribuzione del codice WordPress. .

I bug possono essere segnalati inoltrando un bug sul tracker dei biglietti di WordPress .

Documentazione

WordPress è ufficialmente documentato nel codice WordPress su WordPress.org . Gli sviluppatori che lavorano con WordPress saranno particolarmente interessati alla sezione Codex degli sviluppatori e alla sezione di riferimento degli sviluppatori di wordpress.org .

Versioni

Versione Data di rilascio

1.0 2004/01/03

1.2 2004-05-22

1.5 2005-02-17

2.0 2005/12/26

2.1 2007-01-22

2.2 2007-05-16

2.3 2007-09-24

2.5 2008-03-29

https://riptutorial.com/it/home 3

Page 21: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Versione Data di rilascio

2.6 2008-07-15

2.7 2008-12-10

2.8 2009-06-10

2.9 2009-12-18

3.0 2010-06-17

3.1 2011-02-23

3.2 2011-07-04

3.3 2011-12-12

3.4 2012-06-13

3.5 2012/12/11

3.6 2013/08/01

3.7 2013/10/24

3.8 2013/12/12

3.9 2014/04/16

4.0 2014/09/04

4.1 2014/12/17

4.2 2015/04/23

4.3 2015/08/18

4.4 2015/12/08

4.5 2016/04/12

4.6 2016/08/16

4.7 2016/12/06

4.8 2017/06/08

Examples

https://riptutorial.com/it/home 4

Page 22: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Introduzione a WordPress

WordPress [WP] è un sistema di gestione dei contenuti open source per la creazione di app, siti Web e blog. WP è scritto in PHP e usa MySQL come archivio dati per il contenuto e la configurazione dell'utente. Ha un ricco ecosistema di plugin e temi e gode di una vivace comunità open source, buona documentazione e basse barriere all'entrata. Usabilità e documentazione per sviluppatori possono essere trovati nel codice WP .

Una parte di WordPress che lo rende diverso dalla maggior parte degli altri prodotti CMS è la sua Programmazione guidata dagli eventi . Questo è un modo diverso di programmazione e rappresentazione logica dell'architettura MVC (Model View Controller) che viene utilizzata dalla maggior parte dei sistemi CMS. WordPress utilizza i concetti di Azioni e filtri. Formano una coda di eventi che consentono a plug-in e temi di inserire, modificare o addirittura rimuovere parti della pagina e / o delle parti dell'applicazione web finale. Un concetto simile è la compilazione JIT o Just-In-Time.

Mentre storicamente WordPress è stato conosciuto come piattaforma di blogging, e potrebbe non perdere mai questo stigma, il focus del core team di WordPress è chiaramente cambiato. Con lo Stato della Parola 2016 , del fondatore Matthew Mullenweg , possiamo vedere un chiaro cambiamento di obiettivi, visione e impegno. Nel 2016, abbiamo visto progressi sorprendenti quando il core di WordPress ha adottato la maggior parte del popolare plug-in REST API . Questa era chiaramente una delle intenzioni del core team all'inizio quando hanno iniziato uno sforzo audace di creare un pannello di amministrazione CMS JavaScript front-end, che si distacca dallo standard d'oro che abbiamo visto per così tanti anni; lo chiamarono Calpyso .

Temi di WordPress

Mappatura di URL a modelli specifici

Per comprendere pienamente i temi di WordPress, è necessario comprendere due concetti principali:

permalink1. La gerarchia dei modelli2.

Un permalink è un URL (o collegamento permanente, non modificabile, verso una risorsa specifica.

example.com/about-us/ (una pagina in WP)•example.com/services/ (un elenco di più elementi, chiamato anche "archivio" nel gergo di WP)

example.com/services/we-can-do-that-for-you/ (un singolo elemento)•

Quando un utente richiede un URL, WordPress esegue il reverse engineering del permalink per capire quale modello deve controllare il suo layout. WordPress cerca i vari file modello che potrebbero controllare questo particolare contenuto e, in definitiva, dà la preferenza a quello più

https://riptutorial.com/it/home 5

Page 23: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

specifico che trova. Questo è noto come Gerarchia dei modelli.

Una volta che WP trova il modello di visualizzazione corrispondente nella gerarchia, utilizza tale file per elaborare e rendere la pagina.

Ad esempio: index.php (il modello predefinito, "catch-all") verrà sovrascritto da archive.php (il modello predefinito per il contenuto basato su elenchi), che sarà a sua volta sovrascritto da archive-services.php (un modello file specifico per l'archivio denominato "servizi").

Ecco un ottimo riferimento visivo per la gerarchia dei modelli

Struttura di directory del tema di base

Un tema semplice assomiglia a questo:

// Theme CSS style.css // Custom functionality for your theme functions.php // Partials to include in subsequent theme files header.php footer.php sidebar.php comments.php // "Archives", (listing views that contain multiple posts) archive.php author.php date.php taxonomy.php tag.php category.php // Individual content pages // Note that home and frontpage templates are not recommended // and they should be replaced by page templates singular.php single.php page.php front-page.php home.php // Misc. Utility Pages index.php (a catch-all if nothing else matches) search.php attachment.php image.php 404.php

Esempio di "singolo" (modello per un singolo

https://riptutorial.com/it/home 6

Page 24: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

post)

<?php get_header(); ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <?php the_content(); ?> <?php comments_template( '', true ); ?> <?php endwhile; ?> <?php get_sidebar(); ?> <?php get_footer(); ?>

Cosa sta succedendo qui? In primo luogo, esso carica header.php (simile ad un PHP include o require), imposta il ciclo, visualizza the_title e the_content , poi include comments.php , sidebar.php e footer.php . The Loop esegue il sollevamento pesante, impostando un oggetto Post , che contiene tutte le informazioni per il contenuto attualmente visualizzato.

Esempio di un "archivio" (modello per un elenco di più post)

<?php get_header(); ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <a href="<?php the_permalink(); ?>"<?php the_title(); ?></a> <?php the_excerpt(); ?> <?php endwhile; ?> <?php next_posts_link( 'Older Entries', $the_query->max_num_pages ); previous_posts_link( 'Newer Entries' ); ?> <?php get_sidebar(); ?> <?php get_footer(); ?>

In primo luogo, esso comprende header.php , imposta The Loop, e comprende sidebar.php e footer.php . Ma in questo caso ci sono più post nel ciclo, quindi viene mostrato un estratto con un link al singolo post. next_posts_link e previous_posts_link sono inoltre inclusi in modo che l'archivio possa impaginare i risultati.

Post, pagine, tipi di post personalizzati e campi personalizzati

WordPress supporta due tipi di contenuti: Posts e Pages . I post vengono in genere utilizzati per contenuti non gerarchici come i post dei blog. Le pagine vengono utilizzate per contenuti statici e

https://riptutorial.com/it/home 7

Page 25: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

autonomi come la pagina Chi siamo o la pagina Servizi dell'azienda con sotto-pagine annidate.

A partire dalla versione 3.0, gli sviluppatori possono definire i propri tipi di post personalizzati per estendere la funzionalità di WordPress oltre le basi. Oltre ai tipi di post personalizzati, puoi anche creare i tuoi campi personalizzati da allegare ai tuoi post / pagine / tipi di post personalizzati, consentendoti di fornire un modo strutturato di aggiungere e accedere ai metadati all'interno dei tuoi modelli. Vedi: Campi personalizzati avanzati .

Leggi Iniziare con WordPress online: https://riptutorial.com/it/wordpress/topic/304/iniziare-con-wordpress

https://riptutorial.com/it/home 8

Page 26: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 2: add_action ()

Sintassi

add_action ($ tag, $ function_to_add)•add_action ($ tag, $ function_to_add, $ priority)•add_action ($ tag, $ function_to_add, $ priority, $ accepted_args)•

Parametri

Parametro Dettagli

$ tag(stringa) Il nome dell'azione a cui verrà agganciata la procedura $function_to_add .

$ function_to_add

(chiamabile) La funzione / procedura chiamabile che si desidera chiamare.

$ priorità(int) Il livello di priorità a cui verrà eseguito $function_to_add . Opzionale. Predefinito 10.

$ accepted_args(int) Il numero di argomenti accettati dalla $function_to_add callable $function_to_add . Opzionale. Predefinito 1.

Examples

Richiamo della funzione diretta

add_action( 'init', function() { // do something here } );

Utilizzando un blocco funzione per agganciare una serie di istruzioni. Con il hook init , il set di istruzioni verrà eseguito subito dopo che wordpress ha completato il caricamento dei componenti necessari.

Callback di riferimento nome funzione

function my_init_function() { // do something here } add_action( 'init', 'my_init_function' );

Utilizzando il nome della funzione per agganciare una serie di istruzioni. Con il hook init , il set di

https://riptutorial.com/it/home 9

Page 27: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

istruzioni verrà eseguito subito dopo che wordpress ha completato il caricamento dei componenti necessari.

Callback del metodo statico di classe

class MyClass { static function my_init_method() { // do something here } } add_action( 'init', array( 'MyClass', 'my_init_method' ) );

Utilizzare un metodo statico di una classe per agganciare una serie di istruzioni. Con il hook init , il set di istruzioni verrà eseguito subito dopo che wordpress ha completato il caricamento dei componenti necessari.

Callback del metodo dell'oggetto

class MyClass { function my_init_method() { // do something here } } $obj = new MyClass(); add_action( 'init', array( $obj, 'my_init_method' ) );

Usando un metodo di un oggetto per agganciare una serie di istruzioni. Con il hook init , il set di istruzioni verrà eseguito subito dopo che wordpress ha completato il caricamento dei componenti necessari.

Leggi add_action () online: https://riptutorial.com/it/wordpress/topic/6264/add-action---

https://riptutorial.com/it/home 10

Page 28: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 3: add_editor_style ()

introduzione

La funzione consente all'utente di caricare fogli di stile per l'editor TinyMCE

Sintassi

add_editor_style ($ stylesheet)•

Parametri

Parametro Dettagli

$ foglio di stile

(matrice o stringa) (Opzionale) Nome del foglio di stile o matrice dello stesso, relativo alla radice del tema. Il valore predefinito è 'editor-style.css'

Examples

Caricamento di un singolo file CSS

Codice

function add_new_style() { add_editor_style( 'file-name-here.css' ); } add_action( 'admin_init', 'add_new_style' );

Spiegazione

Nel codice precedente, abbiamo usato add_editor_style per caricare il file css. Abbiamo anche utilizzato add_action per assicurarci che WordPress esegua la nostra funzione.

Leggi add_editor_style () online: https://riptutorial.com/it/wordpress/topic/9215/add-editor-style---

https://riptutorial.com/it/home 11

Page 29: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 4: add_menu_page ()

introduzione

Questa funzione è di aggiungere un elemento nella barra di navigazione del pannello di amministrazione.

Sintassi

add_menu_page ($ page_title, $ menu_title, $ capability, $ menu_slug, $ function, $ icon_url, $ position)

Parametri

Parametro Dettagli

$ PAGE_TITLE

(stringa) Il testo da visualizzare nei tag del titolo della pagina quando il menu è selezionato.

$ menu_title (stringa) Il testo da utilizzare per il menu.

$ capacità (stringa) La capacità richiesta per questo menu da visualizzare all'utente.

$ menu_slug(stringa) Il nome slug per fare riferimento a questo menu (dovrebbe essere univoco per questo menu).

$ funzione(richiamabile) (opzionale) La funzione da chiamare per emettere il contenuto per questa pagina.

$ icon_url (stringa) (facoltativo) L'URL dell'icona da utilizzare per questo menu.

$ posizione(int) (opzionale) La posizione nell'ordine del menu dovrebbe apparire questa.

Osservazioni

Ecco un elenco delle posizioni predefinite (per $ posizione)

2 - Dashboard•4 - Separatore•5 - Post•10 - Media•15 - Collegamenti•20 - Pagine•

https://riptutorial.com/it/home 12

Page 30: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

25 - Commenti•59 - Separatore•60 - Aspetto•65 - Plugin•70 - Utenti•75 - Strumenti•80 - Impostazioni•99 - Separatore•

Examples

Aggiunta dell'elemento "Titolo pagina tema" alla barra di navigazione

Codice

function add_the_theme_page(){ add_menu_page('Theme page title', 'Theme menu label', 'manage_options', 'theme-options', 'page_content', 'dashicons-book-alt'); } add_action('admin_menu', 'add_the_theme_page'); function page_content(){ echo '<div class="wrap"><h2>Testing</h2></div>'; }

Produzione

https://riptutorial.com/it/home 13

Page 31: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Spiegazione

Nel codice, abbiamo creato una funzione chiamata add_the_theme_page e abbiamo usato add_menu_page per aggiungere l'elemento alla barra di navigazione. Si prega di controllare la parte dei parametri in questa pagina per conoscere gli argomenti che abbiamo add_the_theme_page . Quindi abbiamo usato add_action per eseguire la nostra funzione add_the_theme_page . Infine, abbiamo creato la funzione page_content per visualizzare i contenuti nella pagina.

OOP e come caricare script / stili nella pagina del menu

<?php /* * Plugin Name: Custom Admin Menu */ class SO_WP_Menu {

https://riptutorial.com/it/home 14

Page 32: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

private $plugin_url; public function __construct() { $this->plugin_url = plugins_url( '/', __FILE__ ); add_action( 'plugins_loaded', array( $this, 'init' ) ); } public function init() { add_action( 'admin_menu', array( $this, 'add_menu' ) ); } public function add_menu() { $hook = add_menu_page( 'My Menu', // Title, html meta tag '<span style="color:#e57300;">My Menu</span>', // Menu title, hardcoded style 'edit_pages', // capability 'dummy-page-slug', // URL array( $this, 'content' ), // output null, // icon, uses default 1 // position, showing on top of all others ); add_action( "admin_print_scripts-$hook", array( $this, 'scripts' ) ); add_action( "admin_print_styles-$hook", array( $this, 'styles' ) ); } public function content() { ?> <div id="icon-post" class="icon32"></div> <h2>Dummy Page</h2> <p> Lorem ipsum</p> <?php } # Printing directly, could be wp_enqueue_script public function scripts() { ?><script>alert('My page');</script><?php } # Enqueing from a CSS file on plugin directory public function styles() { wp_enqueue_style( 'my-menu', $this->plugin_url . 'my-menu.css' ); } } new SO_WP_Menu();

Ciò che è importante notare in questo esempio è che, quando si utilizza add_menu_page() , restituisce un hook che può essere utilizzato per indirizzare la nostra pagina esatta e caricare qui Stili e script. Un errore comune è accodare senza targeting e che riversa script e stili in tutto /wp-admin . Usando OOP possiamo memorizzare variabili comuni da utilizzare tra i metodi interni.

Leggi add_menu_page () online: https://riptutorial.com/it/wordpress/topic/9189/add-menu-page---

https://riptutorial.com/it/home 15

Page 33: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 5: add_submenu_page ()

introduzione

Questa funzione consente di aggiungere un elemento secondario a un elemento esistente nella barra di navigazione del pannello di amministrazione.

Sintassi

add_submenu_page ($ parent_slug, $ page_title, $ menu_title, $ capability, $ menu_slug, $ function)

Parametri

Parametro Dettagli

$ parent_slug(stringa) Il nome slug per il menu genitore (o il nome del file di una pagina di amministrazione standard di WordPress).

$ PAGE_TITLE

(stringa) Il testo da visualizzare nei tag del titolo della pagina quando il menu è selezionato.

$ menu_title (stringa) Il testo da utilizzare per il menu.

$ capacità (stringa) La capacità richiesta per questo menu da visualizzare all'utente.

$ menu_slug(stringa) Il nome slug per fare riferimento a questo menu (dovrebbe essere univoco per questo menu).

$ funzione(chiamabile) (Opzionale) La funzione da chiamare per emettere il contenuto per questa pagina.

Osservazioni

Ecco una lista di lumache per $ parent_slug

Dashboard: "index.php"•Messaggi: "edit.php"•Media: "upload.php"•Pagine: "edit.php? Post_type = page"•Commenti: "edit-comments.php"•Tipi di post personalizzati: "edit.php? Post_type = your_post_type"•Aspetto: "temi.php"•Plugin: "plugins.php"•

https://riptutorial.com/it/home 16

Page 34: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Utenti: "users.php"•Strumenti: 'tools.php'•Impostazioni: "options-general.php"•Impostazioni di rete: "settings.php"•

Examples

Aggiungere la "Pagina sottomenu" come una pagina secondaria di "Strumenti" alla barra di navigazione

Codice

add_action('admin_menu', 'register_my_custom_submenu_page'); function register_my_custom_submenu_page() { add_submenu_page( 'tools.php', 'Submenu Page', 'My Custom Submenu Page', 'manage_options', 'my-custom-submenu-page', 'my_custom_submenu_page_content' ); } function my_custom_submenu_page_content() { echo '<div class="wrap">'; echo '<h2>Page Title</h2>'; echo '</div>'; }

Produzione

https://riptutorial.com/it/home 17

Page 35: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Spiegazione

Nel codice, abbiamo creato una funzione denominata register_my_custom_submenu_page e abbiamo usato add_submenu_page per aggiungere l'elemento alla barra di navigazione come figlio di tools.php, che è la pagina Strumenti.

Si prega di controllare la parte dei parametri in questa pagina per conoscere gli argomenti che abbiamo add_action . Quindi abbiamo usato add_action per eseguire la nostra funzione register_my_custom_submenu_page . Infine, abbiamo creato la funzione my_custom_submenu_page_content per visualizzare i contenuti nella pagina.

Leggi add_submenu_page () online: https://riptutorial.com/it/wordpress/topic/9193/add-submenu-page---

https://riptutorial.com/it/home 18

Page 36: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 6: add_theme_support ()

introduzione

Questa funzione registra le funzionalità supportate dal tema.

Sintassi

add_theme_support ($ feature)•

Parametri

Parametro Dettagli

caratteristica $ (stringa) La funzione che si sta aggiungendo.

Osservazioni

Elenco di funzioni da utilizzare in $ feature:

'post-formati'•'post-miniature'•'HTML5'•'Custom-logo'•'custom-header-arrivi'•'Custom-header'•'Custom-fondo'•'Title-tag'•'Avviamento-content'•

Examples

Aggiunta del supporto per i temi per i formati dei post

add_theme_support( 'post-formats', array( 'formatone', 'formattwo' ) );

Aggiunta del supporto per i temi per postare le miniature ai post

add_theme_support( 'post-thumbnails', array( 'post' ) );

Il codice sopra riportato consente solo i postumi su tutti i post. Per abilitare la funzione su tutti i tipi di post, fai:

https://riptutorial.com/it/home 19

Page 37: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

add_theme_support( 'post-thumbnails' );

Leggi add_theme_support () online: https://riptutorial.com/it/wordpress/topic/9216/add-theme-support---

https://riptutorial.com/it/home 20

Page 38: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 7: Admin Dashboard Widgets

introduzione

Con un widget della dashboard di amministrazione puoi visualizzare qualsiasi tipo di informazione nella dashboard dell'amministratore. Puoi creare più widget se lo desideri. Puoi aggiungere il codice al functions.php del tuo tema o al tuo plugin.

Sintassi

add_action ($ tag, $ function_to_add, $ priority, $ accepted_args);•wp_add_dashboard_widget ($ widget_id, $ widget_name, $ callback, $ control_callback, $ callback_args);

Parametri

Parametro Dettagli

$ tag( stringa richiesta ) Nome dell'azione dove viene agganciato $ function_to_add

$ function_to_add ( richiesto chiamabile ) Nome della funzione che si desidera chiamare.

$ priorità( int opzionale ) Luogo della chiamata di funzione in tutte le funzioni di azione (default = 10)

$ accepted_args ( int opzionale ) Numero di parametri accettati dalla funzione (default = 1)

$ WIDGET_ID ( stringa richiesta ) Slug univoco per il tuo widget

$ WIDGET_NAME

( stringa richiesta ) Nome del widget (visualizzato nella testa)

$ callback( richiamabile richiesto ) Nome della funzione che visualizza il contenuto del widget

$ control_callback( richiamabile facoltativo ) Nome della funzione che gestisce i moduli delle opzioni del widget

$ callback_args ( array opzionale ) Parametri della funzione $ control_callback

Examples

Widget semplice (visualizza testo)

https://riptutorial.com/it/home 21

Page 39: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Questo aggiungerà un semplice widget che mostra solo un piccolo messaggio.

add_action('wp_dashboard_setup', 'register_my_dashboard_widgets'); function register_my_dashboard_widgets() { wp_add_dashboard_widget('myInfo_widget', 'Important Information', 'display_infoWidget'); } function display_infoWidget() { echo '<p>At the first of february this site gets a new design. Therefore is wont be available this day. To see the current progress you can visit <a href="http://www.justanexample.com" >this site</a></p>'; }

Leggi Admin Dashboard Widgets online: https://riptutorial.com/it/wordpress/topic/9571/admin-dashboard-widgets

https://riptutorial.com/it/home 22

Page 40: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 8: Aggiorna WordPress manualmente

Examples

VIA FTP

Scarica la versione desiderata di WordPress da www.wordpress.org sul tuo computer locale e decomprimi il file.

Conserva anche un backup della versione corrente ... per ogni evenienza.•

1.

Collegati al tuo sito Web con il tuo client FTP preferito (FileZilla è popolare e facile, ma qualsiasi client FTP andrà bene).

Le istruzioni per questo sono al di fuori dello scopo di WordPress, ma possono essere trovate in una data futura nell'argomento FTP proposto .

2.

Carica le cartelle (e il loro contenuto) intitolate "wp-admin" e "wp-includes" alle rispettive directory sul tuo server. Assicurati di sovrascrivere le cartelle correnti.

È possibile omettere il caricamento della cartella "wp-content" a meno che non si scelga di utilizzare uno dei temi inclusi. Se desideri aggiornare / caricare i temi predefiniti inclusi nella versione scelta, devi caricare anche questa cartella.

3.

Carica i singoli file nella cartella home (index.php, wp - *. Php, ecc.).

È possibile omettere i file "liscense.txt" e "readme.html" in quanto non sono necessari per funzionare e possono essere utilizzati come metodi per determinare la versione WP per gli exploit di sicurezza.

4.

Visita e accedi al tuo sito Web per poter eseguire gli aggiornamenti del database richiesti.

Non tutti gli aggiornamenti WP hanno modifiche DB, ma alcuni lo fanno.•

5.

Nota : questo metodo creerà file orfani che possono / si accumuleranno nel tempo e potrebbero presentare rischi per la sicurezza. Assicurati di fare un confronto tra i file dopo il completamento ed elimina i vecchi file dal tuo server dalle versioni precedenti di WP che non sono più in uso.

Leggi Aggiorna WordPress manualmente online: https://riptutorial.com/it/wordpress/topic/8663/aggiorna-wordpress-manualmente

https://riptutorial.com/it/home 23

Page 41: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 9: Aggiungi / rimuovi le informazioni di contatto per gli utenti con hook del filtro user_contactmethods

Examples

Abilitare i social network più popolari

function social_profiles( $contactmethods ) { $contactmethods['facebook_profile'] = 'Facebook Profile URL'; $contactmethods['twitter_profile'] = 'Twitter Profile URL'; $contactmethods['google_profile'] = 'Google Profile URL'; $contactmethods['linkedin_profile'] = 'Linkedin Profile URL'; $contactmethods['github_profile'] = 'GitHub Profile URL'; $contactmethods['behance_profile'] = 'Behance Profile URL'; $contactmethods['dribbble_profile'] = 'Dribbble Profile URL'; $contactmethods['stack_profile'] = 'Stack Exchange Profile URL'; $contactmethods['twitch_profile'] = 'Twitch Profile URL'; $contactmethods['angellist_profile'] = 'AngelList Profile URL'; return $contactmethods; } add_filter( 'user_contactmethods', 'social_profiles', 10, 1);

Otterrai questo file nella tua dashboard:

https://riptutorial.com/it/home 24

Page 42: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

E questo è come lo si recupera in codice

<?php $user_stack_exchange = get_the_author_meta( 'stack_profile' ); ?>

Rimozione del metodo di contatto

function remove_contact_methods( $contactmethods ) { unset($contactmethods['facebook_profile']); unset($contactmethods['twitter_profile']); return $contactmethods; } add_filter( 'user_contactmethods', 'remove_contact_methods', 10, 1);

Leggi Aggiungi / rimuovi le informazioni di contatto per gli utenti con hook del filtro user_contactmethods online: https://riptutorial.com/it/wordpress/topic/2694/aggiungi---rimuovi-le-informazioni-di-contatto-per-gli-utenti-con-hook-del-filtro-user-contactmethods

https://riptutorial.com/it/home 25

Page 43: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 10: Aggiungi Shortcode

Sintassi

add_shortcode( $tag , $func );•

Parametri

Parametro Dettagli

$ tag (stringa) (obbligatorio) Tag shortcode da cercare nel contenuto del post

$ func (callable) (richiesto) Hook da eseguire quando viene trovato shortcode

Osservazioni

Il callback shortcode avrà tre argomenti: gli attributi shortcode, il contenuto shortcode (se presente) e il nome dello shortcode.

Ci può essere un solo gancio per ogni shortcode. Il che significa che se un altro plugin ha uno shortcode simile, sostituirà il tuo o il tuo, sovrascriverlo a seconda dell'ordine in cui i plug-in sono inclusi e / o eseguiti.

I nomi degli attributi Shortcode vengono sempre convertiti in caratteri minuscoli prima di essere passati alla funzione del gestore. I valori sono intatti.

Si noti che la funzione chiamata dallo shortcode non dovrebbe mai produrre output di alcun tipo. Le funzioni Shortcode devono restituire il testo che deve essere utilizzato per sostituire lo shortcode. Produrre direttamente l'output porterà a risultati inaspettati. Questo è simile al modo in cui le funzioni del filtro dovrebbero comportarsi, in quanto non dovrebbero produrre effetti collaterali attesi dalla chiamata, dal momento che non è possibile controllare quando e da dove vengono chiamati.

Examples

Shortcode semplice per post recenti

add_shortcode è la parola chiave wp.

// recent-posts is going to be our shortcode. add_shortcode('recent-posts', 'recent_posts_function'); // This function is taking action when recent post shortcode is called. function recent_posts_function() { query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1)); if (have_posts()) : while (have_posts()) : the_post(); $return_string = '<a href="'.get_permalink().'">'.get_the_title().'</a>';

https://riptutorial.com/it/home 26

Page 44: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

endwhile; endif; wp_reset_query(); return $return_string; }

Questo frammento può essere inserito nel tuo theme functions.php .

[recent-posts] Questo è uno shortcode per i post recenti. Possiamo applicare questo shortcode nel backend (come pagine, post, widget).

Possiamo anche usare lo stesso shortcode nel nostro codice. con l'aiuto di do_shortcode . Per esempio. echo do_shortcode( '[recent-posts]' );

Shortcode avanzato per i post recenti

Questa funzione accetta i parametri per il numero di post recenti che desideri visualizzare.

Es: vuoi mostrare solo cinque post recenti. Ho appena passato gli argomenti con posts = "5" (puoi passare qualsiasi numero di post recenti che vuoi visualizzare).

La funzione recupera solo cinque post recenti dal database.

// recent-posts is going to be our shortcode. add_shortcode('recent-posts', 'recent_posts_function'); // Functions takes parameter such as posts="5". function recent_posts_function($atts){ extract(shortcode_atts(array( 'posts' => 1, ), $atts)); $return_string = '<ul>'; query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts)); if (have_posts()) : while (have_posts()) : the_post(); $return_string .= '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>'; endwhile; endif; $return_string .= '</ul>'; wp_reset_query(); return $return_string; }

Per esempio. echo do_shortcode( '[recent-posts posts="5"]' );

Leggi Aggiungi Shortcode online: https://riptutorial.com/it/wordpress/topic/6580/aggiungi-shortcode

https://riptutorial.com/it/home 27

Page 45: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 11: AJAX

Examples

Richiesta AJAX con una risposta JSON

functions.php:

// We add the action twice, once for logged in users and once for non logged in users. add_action( 'wp_ajax_my_action', 'my_action_callback' ); add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' ); // Enqueue the script on the front end. add_action( 'wp_enqueue_scripts', 'enqueue_my_action_script' ); // Enqueue the script on the back end (wp-admin) add_action( 'admin_enqueue_scripts', 'enqueue_my_action_script' ); function my_action_callback() { $json = array(); if ( isset( $_REQUEST['field2'] ) ) { $json['message'] = 'Success!'; wp_send_json_success( $json ); } else { $json['message'] = 'Field 2 was not set!'; wp_send_json_error( $json ); } } function enqueue_my_action_script() { wp_enqueue_script( 'my-action-script', 'path/to/my-action-script.js', array( 'jquery' ), null, true ); wp_localize_script( 'my-action-script', 'my_action_data', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), ) ); }

my-action-script.js:

(function( $ ) { 'use strict'; $( document ).on( 'ready', function() { var data = { action: 'my_action', field2: 'Hello World', field3: 3 }; $.getJSON( my_action_data.ajaxurl, data, function( json ) { if ( json.success ) { alert( 'yes!' ); } else { alert( json.data.message ); }

https://riptutorial.com/it/home 28

Page 46: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

} ); } ); })( jQuery );

AJAX con .ajax () e WordPress Nonce

functions.php

//Localize the AJAX URL and Nonce add_action('wp_enqueue_scripts', 'example_localize_ajax'); function example_localize_ajax(){ wp_localize_script('jquery', 'ajax', array( 'url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('example_ajax_nonce'), )); } //Example AJAX Function add_action('wp_ajax_example_function', 'example_function'); add_action('wp_ajax_nopriv_example_function', 'example_function'); function example_function(){ if ( !wp_verify_nonce($_POST['nonce'], 'example_ajax_nonce') ){ die('Permission Denied.'); } $firstname = sanitize_text_field($_POST['data']['firstname']); $lastname = sanitize_text_field($_POST['data']['lastname']); //Do something with data here echo $firstname . ' ' . $lastname; //Echo for response wp_die(); // this is required to terminate immediately and return a proper response:- https://codex.wordpress.org/AJAX_in_Plugins }

example.js

jQuery(document).on('click touch tap', '.example-selector', function(){ jQuery.ajax({ type: "POST", url: ajax.url, data: { nonce: ajax.nonce, action: 'example_function', data: { firstname: 'John', lastname: 'Doe' }, }, success: function(response){ //Success }, error: function(XMLHttpRequest, textStatus, errorThrown){ //Error }, timeout: 60000 });

https://riptutorial.com/it/home 29

Page 47: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

return false; });

wp_ajax - funzionalità di base + controllo _wpnonce

functions.php :

function rm_init_js() { wp_enqueue_script( 'custom-ajax-script', get_template_directory_uri() . '/js/ajax.js', array( 'jquery', 'wp-util' ), '1.0', true ); // pass custom variables to JS wp_localize_script( 'custom-ajax-script', 'BEJS', array( 'action' => 'custom_action', 'nonce' => wp_create_nonce( 'test-nonce' ) ) ); } add_action( 'wp_enqueue_scripts', 'rm_init_js' ); function rm_ajax_handler() { check_ajax_referer( 'test-nonce' ); extract( $_POST ); $data = compact( 'first_name', 'last_name', 'email' ); foreach ( $data as $name => $value ) { switch ( $name ) { case 'first_name': case 'last_name': $data[ $name ] = ucfirst( sanitize_user( $value ) ); break; case 'email': $data[ $name ] = sanitize_email( $value ); break; } } $userID = email_exists( $data['email'] ); if ( ! $userID ) { wp_send_json_error( sprintf( __( 'Something went wrong! %s try again!', 'textdomain' ), $data['first_name'] . ' ' . $data['last_name'] ) ); } wp_update_user( array( 'ID' => $userID, 'display_name' => $data['first_name'] . ' ' . $data['last_name'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], ) ); wp_send_json_success( sprintf( __( 'Welcome Back %s', 'textdomain' ), $data['first_name'] . ' ' . $data['last_name'] ) ); } add_action( 'wp_ajax_custom_action', 'rm_ajax_handler' ); add_action( 'wp_ajax_nopriv_custom_action', 'rm_ajax_handler' );

https://riptutorial.com/it/home 30

Page 48: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

ajax.js

;(function() { wp.ajax.post(BEJS.action, { first_name: 'john', last_name: '%65doe', email: '[email protected]', _ajax_nonce: BEJS.nonce }).done( function( response ) { alert(`Success: ${response}`); }).fail( function( response ) { alert(`Error: ${response}`); }); })();

Invio di ajax OOP utilizzando una classe semplice con nonce

Puoi copiare e incollare l'intero plugin per provarlo. Lo scheletro di classe è usato da qui .

class-oop-ajax.cpp

<?php /** * The plugin bootstrap file * * This file is read by WordPress to generate the plugin information in the plugin * Dashboard. This file defines a function that starts the plugin. * * @wordpress-plugin * Plugin Name: Oop Ajax * Plugin URI: http:// * Description: A simple example of using OOP principles to submit a form from the front end. * Version: 1.0.0 * Author: Digvijay Naruka * Author URI: http:// * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt * Text Domain: oop-ajax * Domain Path: /languages */ // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } class Oop_Ajax { // Put all your add_action, add_shortcode, add_filter functions in __construct() // For the callback name, use this: array($this,'<function name>') // <function name> is the name of the function within this class, so need not be globally

https://riptutorial.com/it/home 31

Page 49: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

unique // Some sample commonly used functions are included below public function __construct() { // Add Javascript and CSS for front-end display add_action('wp_enqueue_scripts', array($this,'enqueue')); // Add the shortcode for front-end form display add_action( 'init', array( $this, 'add_form_shortcode' ) ); // Add ajax function that will receive the call back for logged in users add_action( 'wp_ajax_my_action', array( $this, 'my_action_callback') ); // Add ajax function that will receive the call back for guest or not logged in users add_action( 'wp_ajax_nopriv_my_action', array( $this, 'my_action_callback') ); } // This is an example of enqueuing a JavaScript file and a CSS file for use on the front end display public function enqueue() { // Actual enqueues, note the files are in the js and css folders // For scripts, make sure you are including the relevant dependencies (jquery in this case) wp_enqueue_script('my-ajax-script', plugins_url('js/oop-ajax.js', __FILE__), array('jquery'), '1.0', true); // Sometimes you want to have access to data on the front end in your Javascript file // Getting that requires this call. Always go ahead and include ajaxurl. Any other variables, // add to the array. // Then in the Javascript file, you can refer to it like this: my_php_variables.ajaxurl wp_localize_script( 'my-ajax-script', 'my_php_variables', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('_wpnonce') )); } /** * Registers the shortcode for the form. */ public function add_form_shortcode() { add_shortcode( "oop-ajax-add-form", array( $this, "add_form_front_end" ) ); } /** * Processes shortcode oop-ajax-add-form * * @param array $atts The attributes from the shortcode * * @return mixed $output Output of the buffer */ function add_form_front_end($atts, $content) { echo "<form id='my_form'>"; echo "<label for='name'>Name: </label>"; echo "<input id='name' type='text' name='name' ";

https://riptutorial.com/it/home 32

Page 50: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

echo "<br>" ; echo "<label id='email' for='email'>Email: </label>" ; echo "<input type='text' name='email'>"; echo "<br>" ; echo "<input type='hidden' name='action' value='my_action' >" ; echo "<input id='submit_btn' type='submit' name='submit' value='submit'> "; echo "</form><br><br>"; echo "<div id='response'>ajax responce will be here</div> "; } /** * Callback function for the my_action used in the form. * * Processses the data recieved from the form, and you can do whatever you want with it. * * @return echo response string about the completion of the ajax call. */ function my_action_callback() { // echo wp_die('<pre>' . print_r($_REQUEST) . "<pre>"); check_ajax_referer( '_wpnonce', 'security'); if( ! empty( $_POST )){ if ( isset( $_POST['name'] ) ) { $name = sanitize_text_field( $_POST['name'] ) ; } if( isset( $_POST['email'] ) ) { $email = sanitize_text_field( $_POST['email'] ) ; } /////////////////////////////////////////// // do stuff with values // example : validate and save in database // process and output /////////////////////////////////////////// $response = "Wow <strong style= 'color:red'>". $name . "!</style></strong> you rock, you just made ajax work with oop."; //this will send data back to the js function: echo $response; } else { echo "Uh oh! It seems I didn't eat today"; } wp_die(); // required to terminate the call so, otherwise wordpress initiates the termination and outputs weird '0' at the end. } } //initialize our plugin

https://riptutorial.com/it/home 33

Page 51: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

global $plugin; // Create an instance of our class to kick off the whole thing $plugin = new Oop_Ajax();

OOP-ajax.js

Metti il file js all'interno della directory js, ovvero oop-ajax / js / oop-ajax.js

(function($) { 'use strict'; $("#submit_btn").on('click', function() { // set the data var data = { action: 'my_action', security: my_php_variables.nonce, name: $("#name").val(), email: $("#email").val() } $.ajax({ type: 'post', url: my_php_variables.ajaxurl, data: data, success: function(response) { //output the response on success $("#response").html(response); }, error: function(err) { console.log(err); } }); return false; }); })(jQuery);

Leggi AJAX online: https://riptutorial.com/it/wordpress/topic/2335/ajax

https://riptutorial.com/it/home 34

Page 52: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 12: API REST

introduzione

L'API REST di WordPress fornisce endpoint API per i tipi di dati di WordPress che consentono agli sviluppatori di interagire con i siti in remoto inviando e ricevendo oggetti JSON (JavaScript Object Notation).

Quando si invia il contenuto o si effettua una richiesta all'API, la risposta verrà restituita in JSON. Ciò consente agli sviluppatori di creare, leggere e aggiornare contenuti di WordPress da JavaScript lato client o da applicazioni esterne, anche quelli scritti in lingue diverse da PHP.

Osservazioni

Per ottenere questo semplice esempio dell'API REST di WordPress per te, devi imparare come funziona in modo più dettagliato. La documentazione ufficiale raccomanda di conoscere:

Rotte / Endpoint - che sono mappature di singoli metodi HTTP a percorsi noti come "endpoint": lo fai usando la funzione register_rest_route () , e qui puoi trovare ulteriori informazioni su Rotte ed Endpoint .

1.

Richieste - L'API REST di WordPress definisce la classe WP_REST_Request che viene utilizzata per archiviare e recuperare informazioni per la richiesta corrente. WP_REST_Request oggetti WP_REST_Request vengono generati automaticamente quando si effettua una richiesta HTTP su una rotta registrata. I dati specificati nella richiesta determineranno la risposta che si ottiene dall'API. Qui puoi saperne di più sulla classe WP_REST_Request .

2.

Risposte - sono i dati che torni dall'API. WP_REST_Response fornisce un modo per interagire con i dati di risposta restituiti dagli endpoint. Nella definizione dell'endpoint, si chiama la funzione callback (risposta) per servire la propria interazione. Qui puoi saperne di più sulla classe WP_REST_Response .

3.

Schema: ogni endpoint richiede e fornisce strutture di dati leggermente diverse e tali strutture sono definite nello schema API. Se si desidera endpoint mantenibili, individuabili e facilmente estensibili, si consiglia di utilizzare lo schema. Qui puoi imparare di più sullo Schema .

4.

Classi di controller: riuniscono tutti gli elementi in un'unica posizione. Con una classe controller è possibile gestire la registrazione di route ed endpoint, gestire le richieste, utilizzare lo schema e generare risposte API. Hai già imparato a conoscere due classi di controller: WP_REST_Request e WP_REST_Response . Qui puoi imparare di più sulle Classi dei controller

5.

Nota: alcune di queste informazioni sono tratte dal manuale ufficiale di Wordpress REST APi

https://riptutorial.com/it/home 35

Page 53: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Examples

Esempio di lavoro completo

add_action('rest_api_init', 'my_rest_validate_endpoint' ); function my_rest_validate_endpoint() { // Declare our namespace $namespace = 'myrest/v1'; // Register the route // Example URL matching this route: // http://yourdomain/wp-json/myrest/v1/guides/tag=europe/price=29 register_rest_route($namespace, // Using regular expressions we can initially validate the input '/guides/tag=(?P<tag>[a-zA-Z0-9-]+)/price=(?P<price>[0-9]+)', // We can have multiple endpoints for one route array( array( 'methods' => 'GET', 'callback' => 'my_get_guides_handler' ) ), // We can register our schema callback // 'schema' => 'my_get_guide_schema', ); // You can register another route here the same way } // The callback handler for the endpoint function my_get_guides_handler(WP_REST_Request $request) { // Get the parameters: $tag = $request->get_param('tag'); $price = $request->get_param('price'); // Do something with the parameters // for instance: get matching guides from the DB into an array - $results // ... // Prepare the response $message = "We've found " . count($results) . " guides "; $message .= "(searching for a tag: " . $tag . ", with a price tag: " . $price . ")"; // The response gets automatically converted into a JSON format return new WP_REST_Response( array( 'results' => $results, 'message' => $message, 'status' => 'OK' ), 200 ); }

https://riptutorial.com/it/home 36

Page 54: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Leggi API REST online: https://riptutorial.com/it/wordpress/topic/10645/api-rest

https://riptutorial.com/it/home 37

Page 55: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 13: Azioni e filtri

Sintassi

add_action (tag, function_to_call, priority, num_of_args);•add_filter (tag, function_to_call, priority, num_of_args);•

Parametri

Parametro Spiegazione

$ tag (stringa) (Obbligatorio) Il nome dell'azione a cui è agganciata la funzione $.

$ funzione(callable) (Obbligatorio) Richiede una stringa contenente il nome della funzione o la funzione anonima. Vedi esempi per aggiungere funzioni all'interno delle classi.

$ priorità

(int) default = 10. Le funzioni associate a ganci / filtri verranno eseguite nella priorità assegnata. Si può avere una situazione in cui si desidera lavorare con il codice prima di qualsiasi altra azione, impostare priorità = 1 o dopo tutte le altre funzioni associate priorità = 100 ecc. Come con tutte le funzioni php, è possibile utilizzare la funzione senza passare un valore per una variabile dove è stato impostato un valore predefinito, ma se si desidera modificare il numero di parametri restituiti, è necessario specificare!

$ parametri

(int) default = 1. Il numero di parametri restituiti alla funzione allegata. I parametri restituiti dipenderanno dal numero in cui è stato creato l'hook. Vedi apply_filters() e do_action() per maggiori dettagli.

Osservazioni

Ganci Wordpress

Qualcosa che spesso confonde gli sviluppatori quando si inizia a lavorare con WordPress sono l'uso di apply_filters() e add_action() . Vedrai spesso plugin / temi che fanno uso di questi in codice e se non capisci il concetto, troverai difficile lavorare con loro.

In breve (molto breve, guarda il diagramma di flusso di WordPress per il processo in dettaglio), WordPress si carica nel seguente modo:

wp-load.php - funzioni ecc1. mu-plugins - qualsiasi file trovato nella cartella mu-plugins - spesso usato per servire oggetti memorizzati nella cache

2.

Plugin: nessun ordine particolare, verranno caricati plugin installati e attivati3.

https://riptutorial.com/it/home 38

Page 56: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Tema figlio attivo / tema principale4. init - resto dei dati5. modello6.

Se sei uno sviluppatore e lavori con un file di funzioni, puoi vedere che entrambi sono caricati in precedenza nel processo rispetto ai file con cui stai lavorando. Ciò significa che non è possibile modificare i processi (si noti che non è possibile sovrascrivere le funzioni) o le variabili eseguite successivamente o non ancora definite. Inoltre, gli sviluppatori di temi possono inserire degli hook nel loro codice per consentire ai plugin di collegarsi o i plug-in potrebbero consentire ad altri plug-in di sovrascrivere le loro variabili. Ora questo può essere fonte di confusione finora, ma resisti lì.

Per capire add_filter() e add_action() abbiamo bisogno di vedere come vengono creati gli hook in primo luogo.

$arga= 'hello'; do_action('im_a_hook', $arga );

Quando si incontra quanto sopra in WordPress, chiamerà qualsiasi funzione collegata im_a_hook (cercare $wp_filter per informazioni sul processo). Nella tua funzione allegata $arga sarà disponibile per la funzione allegata su cui lavorare.

add_action('im_a_hook', 'attached_function'); function attached_function($arga){ echo $arga; }

Questo apre nuove e potenti opportunità per modificare le variabili in determinati punti del processo di caricamento. Ricorda che abbiamo detto prima che i modelli sono caricati dopo plugin / temi? Un plugin comune è WooCommerce che crea schermate più avanti nel processo, non ho intenzione di documentare come ma un esempio di do_action può essere trovato nel plugin.

do_action( 'woocommerce_after_add_to_cart_button' );

Qui abbiamo creato un hook che non restituisce alcuna variabile, ma possiamo ancora divertirci con esso:

add_action( 'woocommerce_after_add_to_cart_button', 'special_offer'); function special_offer(){ echo '<h1>Special Offer!</h1>; }

L' add_action sopra di cui sopra farà echo un'intestazione dell'offerta speciale in cui si trova do_action('woocommerce_after_add_to_cart_button') si trova quando si crea una schermata di WooCommerce. Quindi possiamo usare questo hook per inserire html. Altri usi potrebbero includere il reindirizzamento a uno schermo diverso del tutto, ecc.

Anche più variabili possono essere passate alla funzione. Prova questo nelle funzioni dei tuoi

https://riptutorial.com/it/home 39

Page 57: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

temi. Nota l'ultimo parametro che stiamo impostando su 3, perché vogliamo lavorare con i 3 parametri disponibili. Se lo avessimo modificato in 2, solo 2 verrebbero restituiti e avremmo ottenuto un errore indefinito.

add_action('custom_hook', 'attached_function', 10, 3); function attached_function($a,$b,$c){ var_dump($a); var_dump($b); var_dump($c); } $arga = 1; $argb = 2; $argc = 3; do_action('custom_hook', $arga, $argb, $argc); exit;

C'è un altro tipo di hook WP chiamato un filtro. Un filtro è diverso da un'azione nel suo utilizzo, un'azione può ricevere solo variabili, ovviamente queste variabili rientrano nello scope delle funzioni (dovresti sapere quale scope php è, se non google). I filtri restituiscono i dati restituiti, quindi è possibile utilizzare per modificare le variabili.

$filter_me= apply_filters('im_a_filter', $variable_to_filter);

Dove vedi quanto sopra, puoi modificare il valore di $filter_me dato che qualsiasi dato che tu restituisci sarà il valore memorizzato nella variabile. Quindi per esempio (nota che stiamo cambiando $variable_to_filter in $filter_me nell'esempio):

add_filter('im_a_filter', 'attached_function', 100); function attached_function($filter_me){ $filter_me= 'ray'; return $filter_me; } $filter_me = 'bob'; $filter_me= apply_filters('im_a_filter', $filter_me);

La variabile $filter_me ora conterrà 'ray' piuttosto che 'bob' , abbiamo impostato una priorità di 100 quindi siamo ragionevolmente sicuri che nessuno stia cambiando il valore dopo l'uso (ci possono essere più filtri in esecuzione sullo stesso hook) Quindi ora è possibile modificare le variabili utilizzate successivamente nel processo se è presente apply_filters() .

Puoi anche passare più parametri, ma puoi solo cambiare il valore di uno. Devi anche restituire un

https://riptutorial.com/it/home 40

Page 58: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

valore, altrimenti la tua variabile non conterrà nulla. Se capisci come usi php per assegnare valori / array / oggetti a variabili questo ti sarà ovvio, ad esempio:

add_filter('im_a_filter', 'attached_function', 100, 3); function attached_function($filter_me, $arga, $argb){ $filter_me= 'ray'.$arga.$argb; $arga= 'you fool'; return $filter_me; } $filter_me = 'bob'; $arga = ' middlename'; $argb = ' surname'; $filter_me= apply_filters('im_a_filter', $filter_me, $arga, $argb);

La variabile $filter_me ora contiene 'ray middlename surname' . Ma per quanto riguarda $arga ? Questo contiene ancora 'middlename' , cambiando un $arga in 'you fool' all'interno della nostra funzione non ha alcun effetto sul valore definito al di fuori del suo ambito (ci sono modi, google globals ecc.)

add_action ($ hook_name, $ function, $ priority, $ parameters)

add_filter ($ hook_name, $ function, $ priority, $ parameters);

Examples

add_action - init

add_action('init', 'process_post'); function process_post(){ if($_POST) var_dump($_POST); }

add_action - init - funzione anonima

add_action('init' , function(){ echo 'i did something'; });

add_action - init - all'interno dell'oggetto di classe

class sample{

https://riptutorial.com/it/home 41

Page 59: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

public function __construct(){ add_action('init', array($this, 'samp') ); } public function samp(){ // must be public!! echo 'i did something'; } } new sample();

add_action - init - all'interno della classe statica

class sample{ public static function add_action_func(){ //note __CLASS__ will also include any namespacing add_action('init', array(__CLASS__, 'samp') ); } public static function samp(){ echo 'i did something'; } } sample::add_action_func();

Leggi Azioni e filtri online: https://riptutorial.com/it/wordpress/topic/2692/azioni-e-filtri

https://riptutorial.com/it/home 42

Page 60: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 14: Ciclo principale alternato (pre_get_posts filter)

Sintassi

add_action ('pre_get_posts', 'callback_function_name');•function callback_function_name ($ query) {}•// per PHP 5.3.0 o successivo•add_action ('pre_get_posts', function ($ query) {});•

Parametri

Parametro Dettagli

$ query (WP_Query) Oggetto loop

Osservazioni

Se si utilizza PHP 5.3.0 o successivo, è possibile utilizzare chiusure ( funzioni anonime )

add_action( 'pre_get_posts', function( $query ) { if( !$query->is_main_query() || is_admin() ) return; // this code will run only if // - this query is main query // - and this is not admin screen });

Examples

Targeting di loop ancora più specifico

Diciamo che vogliamo cambiare il ciclo principale , solo per tassonomia specifica o tipo di post.

Targeting solo del ciclo principale sulla pagina di archivio del tipo di book .

add_action( 'pre_get_posts', 'my_callback_function' ); function my_callback_function( $query ) { if( !$query->is_main_query() || is_admin() ) return; if( !is_post_type_archive( 'book' ) ) return; // this code will run only if // - this query is main query // - and this is not admin screen

https://riptutorial.com/it/home 43

Page 61: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// - and we are on 'book' post type archive page }

Puoi anche controllare la categoria, il tag o la pagina di archivio della tassonomia personalizzata usando is_category() , is_tag() e is_tax() .

Puoi utilizzare qualsiasi tag condizionale disponibile in WordPress.

Mostra i post di una sola categoria

add_action( 'pre_get_posts', 'single_category' ); function single_category( $query ) { if( !$query->is_main_query() || is_admin() ) return; $query->set( 'cat', '1' ); return; }

I messaggi pre-get filtrano l'utilizzo di base

A volte vorresti cambiare la query principale su WordPress.

Il filtro pre_get_posts è la strada da percorrere.

Ad esempio, usando pre_get_posts puoi dire al loop principale di mostrare solo 5 post. O per mostrare i post solo da una categoria, o escludendo qualsiasi categoria ecc.

add_action( 'pre_get_posts', 'my_callback_function' ); function my_callback_function( $query ) { // here goes logic of your filter }

Come puoi vedere, stiamo passando l'oggetto query loop principale nel nostro argomento della funzione callback.

Nota importante qui: stiamo passando argomento come riferimento . Significa che non abbiamo bisogno di restituire query o impostare alcuna globalità per farlo funzionare. Poiché $query è un riferimento all'oggetto query principale, tutte le modifiche apportate al nostro oggetto si riflettono immediatamente nell'oggetto loop principale.

Escludi categoria dall'elenco di post modifica condividi

add_action( 'pre_get_posts', 'single_category_exclude' ); function single_category_exclude( $query ) { if( !$query->is_main_query() || is_admin() ) return; $query->set( 'cat', '-1' ); return;

https://riptutorial.com/it/home 44

Page 62: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

}

Cambia posts_per_page per il ciclo principale

Tutto ciò che dobbiamo fare è usare il metodo set() dell'oggetto $query .

Ci vogliono due argomenti, prima quello che vogliamo impostare e in secondo luogo quale valore impostare.

add_action( 'pre_get_posts', 'change_posts_per_page' ); function change_posts_per_page( $query ) { if( !$query->is_main_query() || is_admin() ) return; $query->set( 'posts_per_page', 5 ); return; }

Targeting del solo ciclo principale di WordPress

WordPress sta applicando il filtro pre_get_posts letteralmente a qualsiasi loop generato. Significa che tutti i cambiamenti che stiamo apportando nella nostra funzione di callback sono applicati a tutti i loop in uscita.

Ovviamente non è quello che vogliamo nella maggior parte degli scenari.

Nella maggior parte dei casi vorremmo scegliere come target solo il ciclo principale e solo per gli schermi non di amministrazione.

Possiamo usare is_main_query() metodo e is_admin() funzione globale per controllare se siamo nel posto giusto.

add_action( 'pre_get_posts', 'my_callback_function' ); function my_callback_function( $query ) { if( !$query->is_main_query() || is_admin() ) return; // this code will run only if // - this query is main query // - and this is not admin screen }

Leggi Ciclo principale alternato (pre_get_posts filter) online: https://riptutorial.com/it/wordpress/topic/4418/ciclo-principale-alternato--pre-get-posts-filter-

https://riptutorial.com/it/home 45

Page 63: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 15: Ciclo WP_Query ()

introduzione

WP_Query per richiedere post, pagine e tipi di post personalizzati. Otterrai un elenco per post e pagine specifiche o tipi di post personalizzati. WP_Query ti consente di estrarre messaggi dal database in base ai tuoi criteri.

Examples

Recupera gli ultimi 10 post

$args = array( 'post_type'=>'post', 'posts_per_page' =>'10' ); $latest_posts_query = new WP_Query( $args ); if($latest_posts_query->have_posts()) : while ( $latest_posts_query-> have_posts()) : $latest_posts_query->the_post(); //Get post details here endwhile; endif;

Leggi Ciclo WP_Query () online: https://riptutorial.com/it/wordpress/topic/8301/ciclo-wp-query---

https://riptutorial.com/it/home 46

Page 64: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 16: Codice corto

Examples

Registrazione di shortcode

Shortcode è una piccola porzione di codice che può essere aggiunta all'editor di WordPress e produrrà qualcosa di diverso una volta che la pagina è stata pubblicata o visualizzata in anteprima.

Spesso, gli shortcode vengono aggiunti al file functions.php del tema, ma non è una buona pratica visto che gli shortcode dovrebbero continuare a funzionare dopo aver cambiato i temi. Invece, scrivi un plugin per aggiungere questa funzionalità.

La struttura per la registrazione di shortcode è:

function new_shortcode($atts, $content = null){ // if parameters are needed in the shortcode // parameters can be set to default to something extract( shortcode_atts( array( 'param_one' => 'h1' ), $atts ) ); $shortcode = '<'.$param_one'>'.$content.'</'.$param_one.'>'; return $shortcode; } // this is what registers the shortcode with wordpress add_shortcode('demo-shortcode','new_shortcode');

All'interno dell'editor di WordPress puoi digitare:

[demo-shortcode param_one="h2"]Demo[/demo-shortcode] // you don't need to insert param_one into the editor if it has a default value. // having it in the editor will override the default

Una volta pubblicata la pagina, questa si trasformerà in

<h2>Demo</h2>

Utilizzo di Shortcode nel backend di WordPress

[footag foo="value of 1" attribute-2="value of 2"]

Nell'amministratore di wordpress utilizziamo i codici di accesso predefiniti scrivendo il nome di shortcode all'interno di parentesi quadre e facoltativamente aggiungendo attributi ad esso che si separano in base allo spazio.

Aggiunta di nuovi codici brevi

https://riptutorial.com/it/home 47

Page 65: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

function footag_func( $atts ) { return "foo = {$atts['foo']}"; } add_shortcode( 'footag', 'footag_func' );

Nei plugin possiamo aggiungere shortcode usando la funzione add_shortcode.

Lo shortcode può essere utilizzato in qualsiasi pagina o post di Wordpress semplicemente racchiudendolo tra parentesi quadre.

[footag]

Utilizzo di Shortcode all'interno del codice PHP (temi e plugin)

<?php echo do_shortcode("[footag foo='Hi! I am a foo output']"); ?>

Per stampare uno shortcode usando php usa la funzione do_shortcode ed echo il valore restituito.

Utilizzo di Shortcode in Widget

add_filter( 'widget_text', 'shortcode_unautop' ); add_filter( 'widget_text', 'do_shortcode' );enter code here

Aggiungi questo a un plug-in o al file functions.php per abilitare gli shortcode nei widget. Il codice interrompe per primo WordPress trasformando le interruzioni di riga in tag di paragrafo e quindi consente agli shortcode di analizzare i widget. L'ordine delle due linee è importante.

Leggi Codice corto online: https://riptutorial.com/it/wordpress/topic/4952/codice-corto

https://riptutorial.com/it/home 48

Page 66: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 17: Come posso integrare Markdown editor con Add-on del ripetitore Advance Custom Field.

Examples

Aggiungi MarkDown Editor

Ho trovato la soluzione. Si prega di prendere in considerazione le seguenti fasi di menzione

Installa il plugin wp Markdown Editor .

Quindi installare " acf-wp-wysiwyg " per il campo del ripetitore. Ora devi aggiornare in alcuni file. Apri questo file e vai al numero di riga "180" o vai alla funzione "create_field" aggiungi

echo '<script> var simplemde = new SimpleMDE({element: document.getElementById("'.$id.'")});jQuery(".quicktags-toolbar").css("display","none");</script>';

Ora sotto il plugin "acf-repeater" apri il file "input.js", il numero di riga "142"

sostituire

new_field_html = this.$el.find('> table > tbody > tr.row-clone').html().replace(/(=["]*[\w-\[\]]*?)(acfcloneindex)/g, '$1' + new_id),

Con

new_field_html = this.$el.find('> table > tbody > tr.row-clone').html().replace(/(["]*[\w-\[\]]*?)(acfcloneindex)/g, '$1' + new_id),

Leggi Come posso integrare Markdown editor con Add-on del ripetitore Advance Custom Field. online: https://riptutorial.com/it/wordpress/topic/6602/come-posso-integrare-markdown-editor-con-add-on-del-ripetitore-advance-custom-field-

https://riptutorial.com/it/home 49

Page 67: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 18: Crea un modello per il tipo di messaggio personalizzato

Examples

Creazione di un modello personalizzato per il libro di tipo Post personalizzato

Per creare un modello per i singoli post del nostro tipo di post personalizzato, dobbiamo creare un file chiamato single- post_type_name .php dove post_type_name è il nome del nostro tipo di post personalizzato.

Ad esempio, se il nostro tipo di post personalizzato è chiamato "Libri", dobbiamo creare un file PHP chiamato single- book .php. Si noti che abbiamo utilizzato il nome singolare del nostro tipo di post personalizzato.

Copia il contenuto di single.php dalla cartella dei temi e incollalo nel nuovo modello e salvalo, quindi il modello verrà applicato per la singola pagina del tipo di post personalizzato.

Modelli di tipo di messaggio personalizzato

Archivio tipo di post personalizzato:

Per creare un modello di archivio per un tipo di post personalizzato devi impostare l'argomento has_archive uguale a true nella tua funzione register_post_type() . Nell'esempio seguente viene creato un tipo di post personalizzato per un tipo di messaggio Event.

add_action( 'init', 'create_events_post_type' ); function create_events_post_type() { register_post_type( 'event', array( 'labels' => array( 'name' => __( 'Events' ), 'singular_name' => __( 'Event' ) ), 'public' => true, 'has_archive' => true, ) ); }

Per creare un modello per i nuovi tipi di post personalizzati dovrai creare un nuovo file modello. Per creare un modello per le singole pagine del post, dovresti nominarlo single-{post_type}.php e archive-{post_type}.php per l'archivio.

Il nome del file per il nostro modello di archivio sarà archive-event.php e per la pagina dell'evento

https://riptutorial.com/it/home 50

Page 68: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

sarebbe single-event.php . Entrambi i file dovrebbero trovarsi nella directory principale dei temi.

Un esempio di modello di archivio sarebbe simile a questo. Tirato dal tema di ventidue anni .

<?php /** * The template for displaying archive pages * * @link https://codex.wordpress.org/Template_Hierarchy * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */ get_header(); ?> <div class="wrap"> <?php if ( have_posts() ) : ?> <header class="page-header"> <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); the_archive_description( '<div class="taxonomy-description">', '</div>' ); ?> </header><!-- .page-header --> <?php endif; ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( have_posts() ) : ?> <?php /* Start the Loop */ while ( have_posts() ) : the_post(); /* * Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ get_template_part( 'template-parts/post/content', get_post_format() ); endwhile; the_posts_pagination( array( 'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>', 'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ), 'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>', ) ); else : get_template_part( 'template-parts/post/content', 'none' );

https://riptutorial.com/it/home 51

Page 69: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

endif; ?> </main><!-- #main --> </div><!-- #primary --> <?php get_sidebar(); ?> </div><!-- .wrap --> <?php get_footer();

Modello singolo post personalizzato:

Ecco un esempio di un singolo modello. Tirato dal tema di ventidue anni .

<?php /** * The template for displaying all single posts * * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */ get_header(); ?> <div class="wrap"> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php /* Start the Loop */ while ( have_posts() ) : the_post(); get_template_part( 'template-parts/post/content', get_post_format() ); // If comments are open or we have at least one comment, load up the comment template. if ( comments_open() || get_comments_number() ) : comments_template(); endif; the_post_navigation( array( 'prev_text' => '<span class="screen-reader-text">' . __( 'Previous Post', 'twentyseventeen' ) . '</span><span aria-hidden="true" class="nav-subtitle">' . __( 'Previous', 'twentyseventeen' ) . '</span> <span class="nav-title"><span class="nav-title-icon-wrapper">' . twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '</span>%title</span>', 'next_text' => '<span class="screen-reader-text">' . __( 'Next Post', 'twentyseventeen' ) . '</span><span aria-hidden="true" class="nav-subtitle">' . __( 'Next', 'twentyseventeen' ) . '</span> <span class="nav-title">%title<span class="nav-title-icon-wrapper">' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ) . '</span></span>', ) ); endwhile; // End of the loop.

https://riptutorial.com/it/home 52

Page 70: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

?> </main><!-- #main --> </div><!-- #primary --> <?php get_sidebar(); ?> </div><!-- .wrap --> <?php get_footer();

Entrambi gli esempi di template stanno tirando in partial per visualizzare il contenuto interno.

Se il tuo tema figlio / genitore ha un modello singolo / di archivio, dovresti usare quel codice come boilerplate per i tuoi nuovi modelli.

Leggi Crea un modello per il tipo di messaggio personalizzato online: https://riptutorial.com/it/wordpress/topic/6390/crea-un-modello-per-il-tipo-di-messaggio-personalizzato

https://riptutorial.com/it/home 53

Page 71: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 19: Crea un post programmaticamente

Sintassi

wp_insert_post (array $ args, bool $ wp_error);•

Parametri

Parametro Descrizione

$ args (array richiesto) Una matrice di valori chiave degli elementi sottostanti.

$ wp_error (Boolean Opzionale) Restituisce un WP_Error in caso di errore.

Osservazioni

argomenti

La tabella successiva mostra un elenco di elementi che è possibile utilizzare all'interno del primo parametro (matrice).

Parametro Descrizione

ID(Int) L'ID del post. Se uguale a qualcosa diverso da 0, il post con quell'ID verrà aggiornato. Predefinito 0.

post_author(Int) L'ID dell'utente che ha aggiunto il post. L'impostazione predefinita è l'ID utente corrente.

data di pubblicazione(Stringa) La data del post. L'impostazione predefinita è l'ora corrente.

post_date_gmt(Stringa) La data del post nel fuso orario GMT. L'impostazione predefinita è il valore di $ post_date.

POST_CONTENT (Misto) Il contenuto del post. Predefinito vuoto.

post_content_filtered(String) Il contenuto del messaggio filtrato. Predefinito vuoto.

titolo del post (String) Il titolo del post. Predefinito vuoto.

https://riptutorial.com/it/home 54

Page 72: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Parametro Descrizione

post_category (Array) Matrice di valori di categoria post.

post_excerpt (String) L'estratto del post. Predefinito vuoto.

post_status (String) Lo stato del post. Bozza predefinita.

post_type (String) Il tipo di post. Post predefinito

comment_status(Stringa) Se il post può accettare commenti. Accetta aperto o chiuso. L'impostazione predefinita è il valore dell'opzione default_comment_status.

ping_status(Stringa) Se il post può accettare ping. Accetta aperto o chiuso. L'impostazione predefinita è il valore dell'opzione default_ping_status.

post_password(String) La password per accedere al post. Predefinito vuoto.

POST_NAME(String) Il nome del post o slug. L'impostazione predefinita è il titolo del messaggio sterilizzato durante la creazione di un nuovo post.

to_ping(String) Elenco separato da URL di ritorno spazio o carrello per eseguire il ping. Predefinito vuoto.

il ping(Stringa) Elenco di URL separati dal ritorno di spazi o carrelli che sono stati sottoposti a ping. Predefinito vuoto.

post_modified(String) La data in cui il post è stato modificato l'ultima volta. L'impostazione predefinita è l'ora corrente.

post_modified_gmt(String) La data in cui il post è stato modificato l'ultima volta nel fuso orario GMT. L'impostazione predefinita è l'ora corrente.

post_parent(Int) Imposta questo per il post a cui appartiene, se presente. Predefinito 0.

menu_order(Int) L'ordine in cui dovrebbe essere visualizzato il post. Predefinito 0.

post_mime_type (String) Il tipo mime del post. Predefinito vuoto.

guid(String) ID univoco globale per referenziare il post. Predefinito vuoto.

https://riptutorial.com/it/home 55

Page 73: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Parametro Descrizione

tax_input(Matrice) Matrice di termini di tassonomia, in base al nome della tassonomia. Predefinito vuoto.

meta_input(Array) Matrice di meta-metriche dopo la loro chiave meta post. Predefinito vuoto.

Evita i messaggi duplicati

Quando esegui questa funzione, potresti probabilmente ottenere un post duplicato, almeno quello che è successo a me. (Puoi verificarlo nella sezione Post WordPress)

Ho trovato una soluzione :

if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){ $my_post = array('post_title' => $title, 'post_content' => 'Content', 'tags_input' => $tags, 'post_category' => array(2), 'post_status' => 'publish' ); $result = wp_insert_post( $my_post ); }

Spiegazione

Prima di salvare un nuovo post, verifica se il nuovo post esiste già usando il titolo del post come parametro, se non c'è un titolo del post, puoi salvare il tuo nuovo post.

Controllare la documentazione del get_page_by_title qui .

Examples

introduzione

A volte abbiamo un altro editor da qualche altra parte invece di TinyMCE (Wordpress Default Editor). Succede quando stiamo creando il nostro tema, plugin o qualcosa di specifico; e abbiamo bisogno di scrivere e manipolare un tipo di post e salvarlo nel nostro database WP.

Quindi, se ti trovi in quella situazione, puoi usare una funzione di Wordpress chiamata:

wp_insert_post( array $args, bool $wp_error );

Crea un post di base

https://riptutorial.com/it/home 56

Page 74: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$basic_post_args = array( 'post_title' => 'My Basic Post', 'post_content' => 'This is a basic content', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(8, 59) ); wp_insert_post( $basic_post_args );

Crea una pagina di base

$basic_page_args = array( 'post_title' => 'My Basic Page', 'post_content' => 'This is a basic content', 'post_type' => 'page', 'post_status' => 'publish', 'post_author' => 1 ); wp_insert_post( $basic_page_args );

Leggi Crea un post programmaticamente online: https://riptutorial.com/it/wordpress/topic/5860/crea-un-post-programmaticamente

https://riptutorial.com/it/home 57

Page 75: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 20: Creare un modello personalizzato

Examples

Creazione di un modello vuoto di base

Per creare un modello personalizzato, è necessario prima creare un file php in una directory di temi. Puoi chiamarlo praticamente come preferisci. Per questo esempio creeremo example.php

Una sola cosa che dobbiamo definire all'interno del nostro esempio.php, per essere riconosciuta da WordPress come modello, è il nome del modello. Facciamo questo acquisto mettendo un commento speciale nella parte superiore di un file, come questo:

<?php /* Template Name: Example */ ?>

E ora quando dovremmo vedere il nostro modello elencato nel menu a discesa Template nella pagina Attributi

https://riptutorial.com/it/home 58

Page 76: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Compreso l'intestazione e il piè di pagina nel nostro modello

Estendiamo il nostro modello dall'alto e includiamo il contenuto di header.php e footer.php

Compreso intestazione:

Includeremo l'intestazione subito dopo il commento al nome del modello

Ci sono due modi comuni per farlo. Entrambi sono giusti e funzionano allo stesso modo, si tratta solo del tuo stile e di come appare il codice

Primo modo:

<?php /* Template Name: Example */ get_header(); ?>

Secondo modo:

https://riptutorial.com/it/home 59

Page 77: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<?php /* Template Name: Example */ ?> <?php get_header(); ?>

Compreso il piè di pagina:

Includere il piè di pagina funziona allo stesso modo, c'è solo una cosa di cui dobbiamo preoccuparci, ed è che includiamo il piè di pagina dopo che abbiamo incluso l'intestazione. Quindi il modello finale dovrebbe assomigliare a questo.

<?php /* Template Name: Example */ get_header(); ?> <?php get_footer(); ?>

Modello personalizzato con contenuto

Estenderemo ulteriormente il nostro modello e includeremo il titolo della pagina e un contenuto

<?php /* Template Name: Example */ get_header(); the_title(); the_content(); get_footer();

E se vuoi, puoi avvolgerli con elementi HTML come questo

<?php /* Template Name: Example */ get_header(); echo '<h1>' . the_title() . '</h1>'; echo '<section> . 'the_content() . '</section>'; get_footer();

O se preferisci lavorare come un normale file HTML, senza usare echo

<?php /*

https://riptutorial.com/it/home 60

Page 78: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Template Name: Example */ get_header(); ?> <h1><?php the_title(); ?></h1> <section><?php the_content(); ?></section> <?php get_footer(); ?>

Leggi Creare un modello personalizzato online: https://riptutorial.com/it/wordpress/topic/2791/creare-un-modello-personalizzato

https://riptutorial.com/it/home 61

Page 79: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 21: Creazione di plugin WordPress

introduzione

I plug-in di WordPress dovrebbero concentrarsi sulla logica del server e / o sulle parti di amministrazione della tua applicazione web. I buoni plugin sono come buone app, fanno una cosa veramente bene. Servono per migliorare e automatizzare parti del CMS in modo modulare, poiché è possibile attivarle e disattivarle. I buoni plug-in si avvalgono delle azioni principali di WordPress, dei filtri e dei framework javascript e css esistenti.

Examples

Setup minimo di una cartella e file di plugin

Il primo passo per creare un plug-in è creare la cartella e il file da cui verrà caricato il plugin.

I plugin si trovano in /wp-content/plugins/ .

Lo standard di WordPress è quello di creare una cartella e un nome di file che si rispecchiano a vicenda in questo modo:

/wp-content/plugins/myplugin/ /wp-content/plugins/myplugin/myplugin.php

Dopo aver creato il tuo file plugin devi avviare il tuo plugin con Plugin Header . Ciò consente a WordPress di eseguire la scansione del file del plug-in e memorizzare i metadati sul plug-in e consentire agli utenti di utilizzarlo e determinare se desiderano attivare o disattivare il plug-in. Copia questo modello nella parte superiore del file del plug-in principale che hai creato e modificalo se necessario:

<?php /** * Plugin Name: PLUGIN-NAME * Plugin URI: HTTP-LINK-TO-WEBSITE-PLUGIN-PAGE-OR-REPO * Description: BREIF DESCRIPTION - KEEP IT SHORT * Author: WORDPRESS-DOT-ORG-USERNAME * Version: 0.0.1 * Author URI: HTTP-LINK-TO-MAINTAINER * License: GNU General Public License v2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.html * Text Domain: short_prefix */ // Begin custom PHP WordPress plugin work

Nota che i plug-in di WordPress dovrebbero in genere essere concessi in licenza come GPL. Tuttavia, le licenze non dovrebbero essere discusse come parte di questo argomento.

https://riptutorial.com/it/home 62

Page 80: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

A questo punto, dovresti già vedere il tuo nuovo plug-in nell'area di amministrazione di WordPress. In una configurazione standard dovresti trovare quest'area in /wp-admin/plugins.php . Vai avanti e attiva il tuo plug-in e sei pronto per passare alla fase successiva della creazione del plug-in!

Per concludere il nostro esempio su qualcosa che è possibile fare, ora puoi aggiungere quanto segue alla fine del tuo file plugin:

die('My custom plugin is loaded : '. __FILE__);

L'aggiornamento del sito dopo questa modifica dovrebbe comportare la stampa di questo testo su tutte le pagine. Non farlo mai nei siti di produzione (dal vivo) e ricordati sempre di ritirarlo prima di continuare.

Leggi Creazione di plugin WordPress online: https://riptutorial.com/it/wordpress/topic/9420/creazione-di-plugin-wordpress

https://riptutorial.com/it/home 63

Page 81: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 22: Customizer Hello World

Parametri

Parametro Dettagli

MyThemeUn identificatore univoco per il tema (o tema figlio). Questo può essere il tuo tema

Examples

Ciao esempio del mondo

Il concetto fondamentale del customizer è che gli amministratori possono vivere le modifiche di anteprima al proprio sito e quindi aggiungerle in modo permanente.

Quanto segue può essere copiato e incollato nel file functions.php un tema su

Aggiungi una sezione di personalizzazione chiamata My First Section•Aggiungi un'impostazione di personalizzazione chiamata Hello World Color consente all'amministratore di scegliere un colore

Aggiungi una regola css per .hello-world che corrisponderà al colore scelto e predefinito a #000000 se non viene selezionato nulla. L'impostazione verrà inserita in un tag <style> alla fine di <head> .

function mytheme_customize_register( $wp_customize ) { $wp_customize->add_section( 'my_first_section_id' , array( 'title' => __( 'My First Section', 'mytheme' ), 'priority' => 30, ) ); $wp_customize->add_setting( 'hello_world_color' , array( 'default' => '#000000', 'transport' => 'refresh', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array( 'label' => __( 'Hello World Color', 'mytheme' ), 'section' => 'my_first_section_id', 'settings' => 'hello_world_color', ) ) ); } add_action( 'customize_register', 'mytheme_customize_register' );

https://riptutorial.com/it/home 64

Page 82: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

function mytheme_customize_css() { ?> <style type="text/css"> .hello-world { color: #<?php echo get_theme_mod('hello_world_color', '000000'); ?>; } </style> <?php } add_action( 'wp_head', 'mytheme_customize_css');

Leggi Customizer Hello World online: https://riptutorial.com/it/wordpress/topic/2875/customizer-hello-world

https://riptutorial.com/it/home 65

Page 83: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 23: Debug

introduzione

https://codex.wordpress.org/Debugging_in_WordPress

Il debug di codice PHP fa parte di qualsiasi progetto, ma WordPress viene fornito con specifici sistemi di debug progettati per semplificare il processo e standardizzare il codice attraverso il nucleo, i plugin e i temi.

Osservazioni

Plugin per il debug in WordPress:

https://wordpress.org/plugins/query-monitor/•https://wordpress.org/plugins/debug-bar/•https://wordpress.org/plugins/debug-bar-console/•https://wordpress.org/plugins/kint-debugger/•https://wordpress.org/plugins/rest-api-console/•

Examples

WP_DEBUG

WP_DEBUG è una costante PHP (una variabile globale permanente) che può essere utilizzata per attivare la modalità di "debug" in tutto WordPress. Si presume che sia falso di default e di solito è impostato su true nel file wp-config.php sulle copie di sviluppo di WordPress.

define( 'WP_DEBUG', true ); define( 'WP_DEBUG', false );

WP_DEBUG_LOG

WP_DEBUG_LOG è un compagno di WP_DEBUG che fa sì che anche tutti gli errori vengano salvati in un file di registro debug.log all'interno della directory / wp-content /. Ciò è utile se si desidera rivedere tutte le notifiche in un secondo momento o è necessario visualizzare le notifiche generate fuori schermo (ad esempio durante una richiesta AJAX o esecuzione di wp-cron).

//enable define( 'WP_DEBUG_LOG', true ); //disable define( 'WP_DEBUG_LOG', false );

WP_DEBUG_DISPLAY

https://riptutorial.com/it/home 66

Page 84: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

WP_DEBUG_DISPLAY è un altro compagno di WP_DEBUG che controlla se i messaggi di debug sono visualizzati all'interno dell'HTML delle pagine o meno. L'impostazione predefinita è 'true' che mostra gli errori e gli avvertimenti man mano che vengono generati. Impostando su false si nascondono tutti gli errori. Questo dovrebbe essere usato insieme a WP_DEBUG_LOG in modo che gli errori possano essere riesaminati in seguito. Nota: per WP_DEBUG_DISPLAY fare qualsiasi cosa, WP_DEBUG deve essere abilitato (true).

//enable define( 'WP_DEBUG_DISPLAY', true ); //disable define( 'WP_DEBUG_DISPLAY', false );

SCRIPT_DEBUG

SCRIPT_DEBUG è una costante correlata che SCRIPT_DEBUG a WordPress di utilizzare le versioni "dev" dei file CSS e JavaScript core anziché delle versioni miniate normalmente caricate. Ciò è utile quando si testano le modifiche a qualsiasi file .js o .css incorporato. Il valore predefinito è falso.

//enable define( 'SCRIPT_DEBUG', true ); //disable define( 'SCRIPT_DEBUG', false );

SAVEQUERIES

La definizione SAVEQUERIES salva le query del database in un array e tale array può essere visualizzato per consentire l'analisi di tali query. La costante definita come true fa sì che ogni query venga salvata, quanto tempo impiega la query per l'esecuzione e quale funzione la chiama. NOTA: questo avrà un impatto sulle prestazioni sul tuo sito, quindi assicurati di disattivarlo quando non esegui il debug.

define( 'SAVEQUERIES', true );

La matrice è memorizzata nel

global $wpdb->queries;

Esempio di wp-config.php e buone pratiche per il debug

Il seguente codice, inserito nel file wp-config.php, registrerà tutti gli errori, le avvertenze e gli avvertimenti in un file chiamato debug.log nella directory del wp-content. Nasconde anche gli errori in modo che non interrompano la generazione della pagina.

// Enable WP_DEBUG mode define( 'WP_DEBUG', true );

https://riptutorial.com/it/home 67

Page 85: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true ); // Disable display of errors and warnings define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); // Use dev versions of core JS and CSS files (only needed if you are modifying these core files) define( 'SCRIPT_DEBUG', true );

Buona pratica Se si desidera aggiungere messaggi personalizzati al registro di debug, aggiungere il codice seguente nel proprio plug-in o tema.

//Checking is function_exists if ( !function_exists( 'print_to_log' ) ) { //function writes a message to debug.log if debugging is turned on. function print_to_log( $message ) { if ( true === WP_DEBUG ) { if ( is_array( $message ) || is_object( $message ) ) { error_log( print_r( $message, true ) ); } else { error_log( $message ); } } } }

Vedi i log in un file separato

Quando si ha una chiamata Ajax, è estremamente difficile ottenere un registro dall'interno della funzione di callback. Ma se abiliti il debug

define('WP_DEBUG', true);

e poi dopo quell'aggiunta

ini_set('log_errors',TRUE); ini_set('error_reporting', E_ALL); ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

si avrà un file error.log.txt nella cartella principale in cui si trovano tutti i log. puoi anche registrarli con

error_log( print_r( 'what I want to check goes here', true) );

dentro il tuo codice Questo renderà la tua vita molto più facile.

Leggi Debug online: https://riptutorial.com/it/wordpress/topic/9170/debug

https://riptutorial.com/it/home 68

Page 86: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 24: dentro

Sintassi

add_action ('init', callable $ function)1.

Osservazioni

init è un hook di azione che viene generato dopo il completamento del caricamento di WordPress ma prima che vengano inviate le intestazioni HTTP.

Examples

Elaborazione dei dati di richiesta $ _POST

add_action ('init', 'process_post_data');

function process_post_data() { if( isset( $_POST ) ) { // process $_POST data here } }

Elaborazione dei dati di richiesta $ _GET

add_action('init', 'process_get_data'); function process_get_data() { if( isset( $_GET ) ) { // process $_GET data here } }

Registrazione di un tipo di messaggio personalizzato

add_action( 'init', function() { register_post_type( 'event', array( 'public' => true, 'label' => 'Events' ); ); });

Registra un nuovo tipo di post personalizzato con un'etichetta Events e un event slug

Leggi dentro online: https://riptutorial.com/it/wordpress/topic/6375/dentro

https://riptutorial.com/it/home 69

Page 87: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 25: Esegui WordPress locale con XAMPP

introduzione

Con XAMPP puoi installare un server web sul tuo pc locale. Ha un server web Apache, il database MariaDB (MySQL) e lavora con Perl e PHP. Dopo l'installazione, puoi eseguire ed eseguire il debug, ad es. Sistemi di gestione dei contenuti come WordPress sul tuo pc locale. Puoi usarlo con Windows, Linux, Mac OS X e Solaris.

Examples

1. Installazione di XAMPP

Scarica il programma di installazione per la versione corrente di XAMPP1. Passare attraverso la procedura guidata di installazione e non modificare nulla se non si è sicuri di cosa si sta modificando.

2.

Dopo l'installazione viene visualizzato il pannello di controllo XAMPP. Basta fare clic sul pulsante di avvio di Apache e MySQL per eseguire entrambi con la configurazione di base.

3.

Se il computer è connesso a una rete locale e si desidera accedere al server Web anche da altri computer, assicurarsi che il firewall lo consenta.

4.

2. Configurare un database dopo aver installato XAMPP

Per eseguire WordPress sul tuo computer devi prima configurare un database. Assicurarsi che Apache e MySQL siano in esecuzione (consultare Installazione di XAMPP passaggio 3)

Avvia un browser web di tua scelta e inserisci "localhost" nell'indirizzo.1. Scegli la tua lingua preferita e seleziona nella categoria "Strumenti" -> phpMyAdmin .2. Seleziona la scheda Databases .3. Inserisci il nome del tuo database (avrai bisogno di questo nome in seguito) sotto "Crea database" e scegli utf8_general_ci nel menu a discesa "Collation".

4.

Fare clic sul database creato sul lato sinistro e selezionare la scheda Users .5. Aggiungi un nuovo utente facendo clic su Add user .6. Inserisci il tuo nome utente, scegli local nel menu a discesa "Host" (se vuoi accedere al database da altri computer nella rete scegli Any host ) e inserisci la tua password (ne avrai bisogno anche in seguito).

7.

Controlla se sotto "Database per utente" Grant all privileges on wildcard name è selezionato.

8.

Premi Go .9.

3. Installazione di WordPress dopo aver installato il database

https://riptutorial.com/it/home 70

Page 88: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Dopo aver installato XAMPP e configurato il database MySQL, è possibile installare WordPress.

Scarica l'ultima versione di WordPress.1. Decomprimere il file e inserire la cartella nella directory principale del proprio server web (se si è utilizzato il percorso suggerito durante l'installazione di XAMPP è "c: \ xampp \ htdocs").

2.

Tutti i file esistenti due volte possono essere sostituiti.3. Inserisci nel campo dell'indirizzo del tuo browser "localhost / wordpress / wp-admin / install.php".

4.

Dopo aver scelto la lingua, fai clic su Continue e poi su Let's go .5. Sostituisci tutti i campi di testo predefiniti con la configurazione scelta (consulta " Imposta un database "). Non modificare "Database Host" e "Table Prefix", tranne per il fatto che si desidera eseguire la migrazione dell'installazione locale di WordPress online. Quindi tieni presente che la sicurezza è importante. Ulteriori informazioni sono disponibili in Imposta prefisso nella nuova installazione di WordPress .

6.

Premere Submit e poi Run the install .7. Ora devi inserire il nome del tuo sito, un nome utente, una password e una e-mail valida.8. Fai clic su Install WordPress per terminare la configurazione e accedi al tuo nuovo sito WordPress locale.

9.

Leggi Esegui WordPress locale con XAMPP online: https://riptutorial.com/it/wordpress/topic/9551/esegui-wordpress-locale-con-xampp

https://riptutorial.com/it/home 71

Page 89: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 26: Esercizi personalizzati con excerpt_length e excerpt_more

Examples

Limita la lunghezza dell'estratto a 50 parole

Inserisci il seguente codice in functions.php :

function themify_custom_excerpt_length( $length ) { return 50; } add_filter( 'excerpt_length', 'themify_custom_excerpt_length', 999 );

Usa 999 come priorità per garantire che la funzione venga eseguita dopo il filtro WordPress predefinito, altrimenti sovrascriverà ciò che è impostato qui.

Aggiunta di un collegamento Leggi altro alla fine dell'estratto

Per fare questo, inserisci il seguente codice in functions.php :

function custom_excerpt_more($more) { return '<a href="'. get_permalink($post->ID) . '">Read More</a>'; } add_filter('excerpt_more', 'custom_excerpt_more');

I risultati dovrebbero assomigliare a questo:

https://riptutorial.com/it/home 72

Page 90: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Aggiunta di alcuni punti alla fine dell'estratto

Nelle nostre funzioni.php

function new_excerpt_more( $more ) { return '.....'; } add_filter('excerpt_more', 'new_excerpt_more');

Dovremmo ottenere questo:

https://riptutorial.com/it/home 73

Page 91: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Leggi Esercizi personalizzati con excerpt_length e excerpt_more online: https://riptutorial.com/it/wordpress/topic/6104/esercizi-personalizzati-con-excerpt-length-e-excerpt-more

https://riptutorial.com/it/home 74

Page 92: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 27: Fare richieste di rete con l'API HTTP

Sintassi

$ response = wp_remote_get ($ url, $ args);•$ response = wp_remote_post ($ url, $ args);•$ response = wp_safe_remote_post ($ url, $ args);•

Parametri

Parametro Dettagli

$ url (stringa) (Obbligatorio) URL del sito da recuperare.

$ args (matrice) (Opzionale) Richiedi argomenti.

Osservazioni

ritorna

(WP_Error | array) La risposta come array o WP_Error in caso di errore.

Examples

OTTIENI una risorsa JSON remota

Questo snippet catturerà una risorsa formattata JSON, la decodificherà e la stamperà in formato array PHP.

// Fetch $response = wp_remote_get( 'http://www.example.com/resource.json' ); if ( ! is_wp_error( $response ) ) { $headers = wp_remote_retrieve_headers( $response ); if ( isset( $headers[ 'content-type' ] ) && 'application/json' === $headers[ 'content-type' ] ) { print_r( json_decode( wp_remote_retrieve_body( $response ) ) ); } }

Leggi Fare richieste di rete con l'API HTTP online: https://riptutorial.com/it/wordpress/topic/1116/fare-richieste-di-rete-con-l-api-http

https://riptutorial.com/it/home 75

Page 93: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 28: Funzione: add_action ()

Sintassi

add_action ($ tag, $ function_to_add)•add_action ($ tag, $ function_to_add, $ priority)•add_action ($ tag, $ function_to_add, $ priority, $ accepted_args)•

Parametri

Parametro Dettagli

$ tag (stringa) (Obbligatorio) Il nome dell'azione a cui è agganciato $function_to_add

$ function_to_add

( callable ) (Obbligatorio) La funzione che deve essere chiamata quando viene eseguita l'azione indicata da $tag

$ priorità

(int) (Opzionale) Valore predefinito: 10 Utilizzato per specificare l'ordine in cui vengono eseguite le funzioni associate a una determinata azione. I numeri più bassi corrispondono all'esecuzione precedente e le funzioni con la stessa priorità vengono eseguite nell'ordine in cui sono stati aggiunti all'azione.

$ accepted_args

(int) (Opzionale) Valore predefinito: 1 Il numero di argomenti accettati dalla funzione.

Osservazioni

La funzione add_action() crea un hook di azione , associando una funzione PHP a una determinata azione "tag" o nome. Quando l'azione viene "innescata" da una chiamata a do_action() (o do_action_ref_array() ) con un tag specifico, verranno eseguite tutte le funzioni "agganciate" a quel tag.

Nella maggior parte dei casi, questa funzione dovrebbe essere utilizzata nel file functions.php un tema o in un file plugin o in un altro file sorgente caricato da entrambi.

Questa funzione è una parte dell'API Plugin

Examples

Azione base Hook

L'applicazione di base di add_action() consiste nell'aggiungere codice personalizzato da eseguire

https://riptutorial.com/it/home 76

Page 94: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

in una determinata posizione in un codice sorgente dell'installazione di WordPress - utilizzando azioni fornite dal Core di WordPress o create da codice di terze parti come plug-in e plug-in temi.

Per aggiungere contenuto alla sezione <head></head> del sito - dì ad un meta elemento <link> aggiungi per indicare dove sono reperibili le informazioni sul copyright per il sito - add_action() può essere usato per allegare una funzione che stampa il markup appropriato per l'azione 'wp_head' (che "si innesca" quando WordPress crea la sezione <head> ):

function add_copyright_meta_link() { echo( '<link rel="copyright" href="' . get_home_url() . '/copyright">' ); } add_action( 'wp_head', 'add_copyright_meta_link' );

Azione Hook Priority

Qualsiasi numero di funzioni può essere "agganciato" a qualsiasi azione specifica. In alcuni casi è importante che una funzione agganciata venga eseguita prima o dopo altre, che è il punto in cui entra in gioco il terzo parametro di add_action() , $priority .

Se l'argomento $priority è omesso, la funzione verrà associata con la priorità predefinita di 10 . Quando l'azione è "innescata", le funzioni "agganciate" verranno chiamate a partire da quelle aggiunte con la $priority più piccola e passando alle funzioni con la $priority più grande. Tutte le funzioni collegate che condividono la stessa priorità verranno chiamate nell'ordine in cui sono state aggiunte (l'ordine in cui sono state eseguite le rispettive chiamate add_action() ).

Ad esempio, supponiamo che un plug-in di terze parti utilizzi una funzione collegata all'azione 'template_redirect' per inoltrare i visitatori alla pagina di daily-deal a un link di affiliazione per un sito di e-commerce esterno, ma desideri il reindirizzamento si verifica solo per gli utenti registrati. Dovresti utilizzare il tuo hook 'template_redirect' per inviare i visitatori che hanno effettuato il logout alla pagina di accesso. Dopo aver stabilito che il plug-in di terze parti allega la sua funzione con il $piority predefinito di 10 , puoi agganciare la tua funzione con una priorità di 9 per assicurarti che il tuo check-in di accesso avvenga prima:

function redirect_deal_visitors_to_login() { if( is_page( 'daily-deal' ) && !user_is_logged_in() ) { wp_redirect( wp_login_url() ); exit(); } } add_action( 'template_redirect', 'redirect_deal_visitors_to_login', 9 );

Agganciare i metodi di classe e oggetto alle azioni

Le classi PHP sono un potente strumento per migliorare l'organizzazione del codice e ridurre al minimo le collisioni di denominazione. Ad un certo punto o in un altro, inevitabilmente sorge la domanda su come creare un hook di azione per un metodo di classe.

L'argomento $function_to_add viene spesso mostrato come una stringa contenente il nome della

https://riptutorial.com/it/home 77

Page 95: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

funzione, tuttavia il tipo di dati dell'argomento è in realtà un " callable ", che per i nostri scopi può essere riassunto come "un riferimento a una funzione o un metodo".

Esistono numerosi formati richiamabili che possono essere utilizzati per fare riferimento a metodi su classi e oggetti. In tutti i casi, tuttavia, il metodo di riferimento deve essere visibile pubblicamente. Un metodo è pubblico quando è prefisso con la parola chiave public o non ha alcuna parola chiave di visibilità (nel qual caso il metodo è impostato su public).

Oggetto Metodo Azione Ganci

I metodi oggetto vengono eseguiti su una particolare istanza di una classe.

class My_Class { // Constructor function My_Class() { // (Instantiation logic) } // Initialization function public function initialize() { // (Initialization logic) } }

Dopo aver istanziato la classe sopra come segue,

$my_class_instance = new My_Class();

il metodo initialize() sarebbe normalmente invocato sull'oggetto chiamando $my_class_instance->initialize(); . L'aggancio del metodo all'azione WordPress 'init' viene eseguito passando una matrice contenente un riferimento all'istanza e una stringa contenente il nome del metodo dell'oggetto:

add_action( 'init', [ $my_class_instance, 'initialize' ] );

Se si chiama add_action() all'interno di un metodo object, è possibile utilizzare anche $this pseudo-variabili:

class My_Class { // Constructor function My_Class() { // (Instantiation logic) add_action( 'init', [ $this, 'initialize' ] ); } // Initialization function public function initialize() { // (Initialization logic) } }

https://riptutorial.com/it/home 78

Page 96: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Ganci di azione del metodo di classe

I metodi di classe sono eseguiti staticamente su una classe piuttosto che su una particolare istanza. Data la seguente classe,

class My_Class { // Initialization function public static function initialize() { // (Initialization logic) } }

il metodo initialize() verrebbe normalmente richiamato usando l'operatore :: scope-resolution, cioè My_Class::initialize(); . L'hooking di un metodo statico di classe a un WordPress può essere fatto in un paio di modi diversi:

Utilizzando un array composto da una stringa contenente il nome della classe e una stringa contenente il nome del metodo:

add_action( 'init', [ 'My_Class', 'initialize' ] );

Passando una stringa contenente un riferimento completo al metodo, incluso l'operatore ::

add_action( 'init', 'My_Class::initialize' );

Se add_action() viene chiamato all'interno di un metodo di classe statico, al posto del nome della classe può essere utilizzata la parola chiave self o la __CLASS__ magia __CLASS__ . Si noti che questo è generalmente sconsigliabile in quanto i valori di questi elementi diventano alquanto controintuitivi nel caso dell'ereditarietà di classe.

class My_Class { // Setup function public static function setup_actions() { add_action( 'init', 'self::initialize' ); } // Initialization function public static function initialize() { // (Initialization logic) } }

Leggi Funzione: add_action () online: https://riptutorial.com/it/wordpress/topic/6561/funzione--add-action---

https://riptutorial.com/it/home 79

Page 97: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 29: Funzione: wp_trim_words ()

Sintassi

<?php $trimmed_text = wp_trim_words( $text, $num_words = 55, $more = null ); ?>•

Parametri

Parametro Dettagli

$text (Stringa) (Obbligatorio) Testo che verrà abbreviato o tagliato.

$num_words (Intero) (Obbligatorio) Numero di parole a cui il testo sarà limitato.

$more (Stringa) (Facoltativo) Cosa aggiungere se il testo $ deve essere tagliato.

Examples

Ritaglio dei contenuti del post

Questa funzione riduce il testo a un numero specificato di parole e restituisce il testo abbreviato.

<?php echo wp_trim_words( get_the_content(), 40, '...' ); ?>

Nell'esempio sopra stiamo passando il contenuto del post alla funzione. Limiterà la lunghezza del contenuto a 40 parole e ridurrà il resto delle parole.

Leggi Funzione: wp_trim_words () online: https://riptutorial.com/it/wordpress/topic/7866/funzione--wp-trim-words---

https://riptutorial.com/it/home 80

Page 98: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 30: Gerarchia dei modelli

Osservazioni

Plugin per il debug in WordPress:

https://wordpress.org/plugins/query-monitor/•https://wordpress.org/plugins/debug-bar/•https://wordpress.org/plugins/debug-bar-console/•https://wordpress.org/plugins/kint-debugger/•https://wordpress.org/plugins/rest-api-console/•

Examples

introduzione

Una delle cose più importanti da imparare quando si sta creando un tema WordPress è la gerarchia di WordPress Template per temi. La gerarchia dei modelli definisce quale file modello verrà caricato per ogni richiesta e in quale ordine. Se il primo modello non esiste nella gerarchia, WordPress proverà a caricare il prossimo e così via fino a quando non index.php in index.php .

Per descrivere dettagliatamente la gerarchia dei modelli, il modo migliore è ovviamente utilizzare un'immagine con la struttura completa:

https://riptutorial.com/it/home 81

Page 99: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

La gerarchia dei modelli inizia con i tipi principali di pagine come archivio, pagina singolare o priDopodiché troveremo i modelli reali che verranno caricati. Innanzitutto ci sono i modelli più specifi

Per esempio category-$slug.php

https://riptutorial.com/it/home 82

Page 100: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

che ha come target solo la categoria con uno slug specifico, ad esempio category-books.php verrebbe utilizzato solo per la categoria con il book slug. Un altro esempio è page-$id.php che si rivolge solo a una pagina con un ID specifico, ad esempio page-41.php indirizzerebbe solo la pagina con l'ID 41.

Dopo i template che hanno come target specifici tipi o post, arriviamo ai modelli di tipo generico, come archive.php per tutte le pagine di archivio o page.php per tutte le pagine. Ma ricorda, quelli saranno usati solo se la pagina corrente non corrisponde a nessuno dei modelli che sono più in alto nella gerarchia.

Infine, se WordPress non è riuscito a trovare modelli corrispondenti nella directory dei modelli, l'ultimo fallback è sempre index.php che è l'unico file di modello richiesto in un tema WordPress.

Debug

È facile perdersi durante il debug della ricerca. Puoi usare il comando integrato di PHP debug_backtrace .

Inserisci lo snippet successivo in qualsiasi modello che desideri eseguire il debug e visualizza la pagina generata:

<!-- <?php print_r( debug_backtrace() ) ?> -->

Leggi Gerarchia dei modelli online: https://riptutorial.com/it/wordpress/topic/6116/gerarchia-dei-modelli

https://riptutorial.com/it/home 83

Page 101: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 31: get_bloginfo ()

introduzione

Recupera informazioni sul sito corrente.

Sintassi

get_bloginfo ($ mostra, $ filtro)•

Parametri

Parametro Dettagli

$ spettacolo (stringa) Le informazioni sull'impostazione del sito da recuperare.

Filtro $ (stringa) La specifica su se restituire un valore filtrato o meno.

Osservazioni

$ spettacolo

Valori Descrizione Esempio

'nome' (predefinito) Titolo del sito 'Matt Mullenweg'

'descrizione' Slogan del sito 'Just another WordPress site'

'Wpurl'URL dell'installazione di WordPress. Uguale alla funzione site_url()

'http://example.com' , 'http://localhost/wordpress'

'Url'URL del sito. Uguale alla funzione home_url()

'http://example.com' , 'http://localhost/wordpress'

'Admin_email'Indirizzo email dell'amministratore principale

'[email protected]'

'Charset'Codifica dei caratteri delle pagine e dei feed

'UTF-8'

'versione'Versione corrente dell'installazione di WordPress

'4.5'

https://riptutorial.com/it/home 84

Page 102: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Valori Descrizione Esempio

'Html_type'valore del tipo di contenuto dell'HTML

'text/html'

'Text_direction'Direzione del testo determinata dalla lingua del sito

'ltr'

'linguaggio'Codice lingua basato su ISO 639-1

'en-US'

'Stylesheet_url'

URL del foglio di stile del tema attivato. Priorità valore: tema figlio »tema padre.

'http://example.com/wp-content/themes/twentysixteen/style.css'

'Stylesheet_directory'

Posizione della risorsa del tema attivato. Priorità valore: tema figlio »tema padre.

'http://example.com/wp-content/themes/twentysixteen'

'Template_url'

Directory URL del tema attivato. Priorità valore: tema padre »Tema bambino.

'http://example.com/wp-content/themes/twentysixteen'

'Template_directory' Lo stesso di 'template_url'

'Pingback_url' Pingback XML-RPC file 'http://example/xmlrpc.php'

'Atom_url' URL del feed Atom 'http://example/feed/atom/'

'Rdf_url'URL feed RDF / RSS 1.0

'http://example/feed/rdf/'

'Rss_url' RSS 0.92 feed URL 'http://example/feed/rss/'

'Rss2_url' URL del feed RSS 2.0 'http://example/feed/'

'Comments_atom_url'Commenti URL del feed Atom

'http://example/comments/feed/atom/'

'indirizzo del sito'(deprecato) Utilizzare invece 'url'

'casa'(deprecato) Utilizzare invece 'url'

https://riptutorial.com/it/home 85

Page 103: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Filtro $

Valori Descrizione Esempio

'raw' (predefinito)

Nessun filtro verrà applicatodati grezzi

'display'I filtri verranno applicati al valore restituito se $show non è né 'url' , 'directory' , 'home'

dati filtrati

Examples

Ottenere il titolo del sito

<?php echo get_bloginfo( 'name' ); ?>

o

<?php echo get_bloginfo(); ?>

Produzione

Matt Mullenweg

Basato su queste impostazioni di esempio

https://riptutorial.com/it/home 86

Page 104: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Ottenere la tagline del sito

<?php echo get_bloginfo( 'description' ); ?>

Produzione

Just another WordPress site

Basato su queste impostazioni di esempio

https://riptutorial.com/it/home 87

Page 105: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Ottenere l'URL del tema attivo

<?php echo esc_url( get_bloginfo( 'stylesheet_directory' ) ); ?>

Produzione

http://example.com/wp-content/themes/twentysixteen

alternative

Internamente, get_bloginfo( 'stylesheet_directory' ) chiama get_stylesheet_directory_uri() , quindi puoi usare quello:

<?php echo esc_url( get_stylesheet_directory_uri() ); ?>

https://riptutorial.com/it/home 88

Page 106: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Molti sviluppatori preferiscono utilizzare queste funzioni dedicate a causa di convenzioni di denominazione incoerenti tra loro e get_bloginfo() . Ad esempio, get_stylesheet_directory() restituisce il percorso del tema figlio; tuttavia, come illustra il nostro esempio precedente, get_bloginfo( 'stylesheet_directory' ) restituisce l'URL del tema get_bloginfo( 'stylesheet_directory' ) . Se invece usi get_stylesheet_directory_uri() , ci sono meno possibilità di confusione sul fatto che tu stia recuperando un percorso o un URL.

Ottieni l'URL del sito

<?php echo esc_url(get_bloginfo('url')); ?>

o se è necessario il collegamento a una pagina secondaria

<?php echo esc_url(get_bloginfo('url') . '/some-sub-page'); ?>

Ottieni l'indirizzo email dell'amministratore del sito

Possiamo utilizzare la funzione get_bloginfo per recuperare l'indirizzo email dell'amministratore del sito.

<?php echo get_bloginfo('admin_email'); ?>

Leggi get_bloginfo () online: https://riptutorial.com/it/wordpress/topic/524/get-bloginfo---

https://riptutorial.com/it/home 89

Page 107: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 32: get_home_path ()

introduzione

Ottieni il percorso assoluto del filesystem nella root dell'installazione di WordPress.

Parametri

Parametro Dettagli

Nessuna Questa funzione non accetta alcun parametro.

Osservazioni

Differenza importante tra get_home_path() e ABSTPATH

Tieni presente la differenza tra ABSPATH e get_home_path() se WordPress è installato in una sottocartella.

La funzione get_home_path() restituirà sempre un percorso senza la sottocartella:

http://www.example.com - / var / www / htdocs / example•http://www.example.com/wp - / var / www / htdocs / example•

Questo è il modo in cui differisce da ABSPATH , che restituirà valori diversi:

http://www.example.com - / var / www / htdocs / example•http://www.example.com/wp - / var / www / htdocs / example / wp•

ABSPATH è definito per la prima volta in wp-load.php che si trova in /var/www/htdocs/example/wp/wp-load.php quindi da qui ABSPATH prenderà la sua definizione.

get_home_path() controlla se site_url e home_url differiscono e rimuove la sottostringa dal percorso. Altrimenti restituisce il valore ABSPATH :

function get_home_path() { $home = set_url_scheme( get_option( 'home' ), 'http' ); $siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' ); if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) { $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */ $pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) ); $home_path = substr( $_SERVER['SCRIPT_FILENAME'], 0, $pos ); $home_path = trailingslashit( $home_path ); } else { $home_path = ABSPATH; }

https://riptutorial.com/it/home 90

Page 108: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

return str_replace( '\\', '/', $home_path ); }

Usandolo nel tuo codice

La chiamata a get_home_path() deve essere eseguita in un contesto in cui wp-admin/includes/file.php è già stato incluso.

Ad esempio, utilizzando get_home_path() all'interno admin_init va bene, ma usarlo all'interno di init non lo è e causerà un errore fatale di PHP:

Call to undefined function get_home_path()

Questo file viene incluso solo all'interno del contesto di amministrazione (dashboard), se ne hai assolutamente bisogno al di fuori di questo contesto dovrai includere il file te stesso prima di chiamare la funzione:

require_once(ABSPATH . 'wp-admin/includes/file.php');

Examples

uso

$path = get_home_path();

Valore di ritorno:

string

Percorso completo del file system alla radice dell'installazione di WordPress, anche se è installato in una sottocartella.

Esempio:

/var/www/htdocs/example

Leggi get_home_path () online: https://riptutorial.com/it/wordpress/topic/9699/get-home-path---

https://riptutorial.com/it/home 91

Page 109: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 33: get_option ()

introduzione

Recupera un valore di opzione basato su un nome di opzione.

Sintassi

get_option ($ option, $ default)•

Parametri

Parametro Dettagli

$ opzione(stringa) Nome dell'opzione da recuperare. Previsto per non essere fuggito SQL.

$ di default (misto) (Opzionale) Valore predefinito da restituire se l'opzione non esiste.

Osservazioni

Elenco di argomenti per $ opzione

'Admin_email'•'Blogname'•'BlogDescription'•'Blog_charset'•'formato data'•'Default_category'•'casa'•'indirizzo del sito'•'modello'•'Start_of_week'•'Upload_path'•'Users_can_register'•'Posts_per_page'•'Posts_per_rss'•

Examples

Mostra il titolo del blog

Codice

https://riptutorial.com/it/home 92

Page 110: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<h1><?php echo get_option( 'blogname' ); ?></h1>

Produzione

Nome del blog in stile H1

Mostra set di caratteri

Codice

<p><?php echo esc_html( sprintf( __( 'Character set: %s', 'textdomain' ), get_option( 'blog_charset' ) ) ); ?></p>

Produzione

Set di caratteri: UTF-8

Gestire le opzioni non esistenti

Codice

<?php echo get_option( 'something_bla_bla_bla' ); ?>

Produzione

falso

Codice

<?php echo get_option( 'something_bla_bla_bla', 'Oh no!' ); ?>

Produzione

Oh no!

Leggi get_option () online: https://riptutorial.com/it/wordpress/topic/9194/get-option---

https://riptutorial.com/it/home 93

Page 111: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 34: get_permalink ()

introduzione

Questa funzione restituisce il paralink completo del post corrente o del post designato.

Sintassi

get_permalink ($ post, $ leavename)•

Parametri

Parametro Dettagli

$ postale(int) (facoltativo) Post ID o post oggetto. L'impostazione predefinita è l'ID del post corrente.

$ leavename

(bool) (opzionale) Indica se mantenere il nome del post o il nome della pagina.

Osservazioni

Per il parametro $ leavename, è falso per impostazione predefinita.

Examples

Semplice utilizzo di get_parmalink

Codice

echo get_permalink();

Produzione

Il link della pagina corrente, ad esempio: http://website.com/category/name-of-post/

Specificare il post per ottenere il collegamento

Codice

echo get_permalink( 44 );

Produzione

https://riptutorial.com/it/home 94

Page 112: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Il link dell'ID post: 44, ad esempio: http://website.com/category/name-of-post/

Ottieni il link senza il nome del post

Codice

echo get_permalink( 44 , false );

Produzione

Il link dell'ID post: 44 senza il nome del post, ad esempio: http://website.com/category/%postname%/

Leggi get_permalink () online: https://riptutorial.com/it/wordpress/topic/9209/get-permalink---

https://riptutorial.com/it/home 95

Page 113: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 35: get_template_part ()

Sintassi

get_template_part ($ slug, $ name);•get_template_part ($ slug);•

Parametri

Parametro Dettagli

$ slug (stringa) Nome slug del modello generico

nome $ (stringa) Nome modello specializzato

Examples

Carica una parte modello da una sottocartella

get_template_part( 'foo/bar', 'page');

richiederà 'bar-page.php' dalla directory 'foo'.

Ottieni un file specifico

È possibile ottenere file specifici utilizzando questa funzione.

get_template_part('template-parts/layout');

Includi il file layout.php dalla sottodirectory template-parts posta nella radice della cartella del tema.

Leggi get_template_part () online: https://riptutorial.com/it/wordpress/topic/5897/get-template-part---

https://riptutorial.com/it/home 96

Page 114: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 36: get_template_part ()

introduzione

Lo scopo di questa funzione è di standardizzare il modo in cui importare partial o componenti di un tema nel modello di tema principale. È possibile utilizzare un SSI PHP standard (incluso il lato server), tuttavia, vi sono alcuni vantaggi nell'utilizzo di get_template_part (). L'utilizzo di questa funzione riduce gli errori a rischio di sviluppatori meno esperti che tentano di identificare il percorso completo sul server. Inoltre, fallisce con garbo quando i file non esistono e gestisce un sistema di fallback di gerarchia personalizzato noto come "ricerca modello sfocato".

Sintassi

get_template_part ($ slug)•get_template_part ($ slug, $ name)•

Parametri

Parametro Dettagli

$ slug (stringa) Il nome slug del modello personalizzato.

nome $ (stringa) Il nome del modello specializzato. Opzionale

Examples

Incluso un modello personalizzato

<?php get_template_part( 'foo' ); ?>

include

../wp-content/themes/your-theme-slug/foo.php

Incluso un modello personalizzato con un nome file separato dal trattino

<?php get_template_part( 'foo','bar' ); ?>

include

../wp-content/themes/your-theme-slug/foo-bar.php

https://riptutorial.com/it/home 97

Page 115: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Incluso un modello personalizzato da una directory

<?php get_template_part( 'dir/foo' ); ?>

include

../wp-content/themes/your-theme-slug/dir/foo.php

Incluso un modello personalizzato con un nome file separato da un trattino situato all'interno di una directory

<?php get_template_part( 'dir/foo', 'bar' ); ?>

include

../wp-content/themes/your-theme-slug/dir/foo-bar.php

Passaggio della variabile all'ambito del modello personalizzato

<?php set_query_var( 'passed_var', $my_var ); get_template_part( 'foo', 'bar' ); ?>

foo-bar.php in foo-bar.php

<?php echo $passed_var; ?>

Leggi get_template_part () online: https://riptutorial.com/it/wordpress/topic/5993/get-template-part---

https://riptutorial.com/it/home 98

Page 116: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 37: get_template_part ()

Sintassi

get_template_part ( 'file-name-no-estensione');•

Parametri

Parametro Descrizione

file-name-no-estensione

Il nome della parte modello senza estensione. Ad esempio "foo" invece di "foo.php"

Examples

Caricamento parte del modello

Estrae il codice da un determinato file specificato in un altro file in cui è stata effettuata la chiamata.

Ad esempio all'interno di example.php

<h1>Hello World!</h1>

All'interno di page.php

// header code get_template_part('example'); // rest of page code

Produzione:

// header code <h1>Hello World</h1> // rest of page code

Leggi get_template_part () online: https://riptutorial.com/it/wordpress/topic/6267/get-template-part---

https://riptutorial.com/it/home 99

Page 117: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 38: get_the_category ()

introduzione

Questa funzione restituisce tutte le categorie come una matrice del post o della pagina corrente o del post o pagina designato.

Sintassi

get_the_category ($ id)•

Parametri

Parametro Dettagli

$ id (int) (Facoltativo) predefinito per l'ID corrente corrente. L'ID del post.

Osservazioni

Si noti che get_the_category () restituisce un array, il che significa che non è possibile echo direttamente il valore restituito.

Ecco un elenco di oggetti di ciascuna categoria che puoi stampare:

term_id•nome•lumaca•term_group•term_taxonomy_id•tassonomia•descrizione•genitore•contare•object_id•filtro•cat_id•category_count•category_description•CAT_NAME•category_nicename•category_parent•

Examples

https://riptutorial.com/it/home 100

Page 118: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Ottieni tutti i nomi delle categorie del post

Codice

$categories = get_the_category(); foreach( $categories as $category ) { echo $category->name . '<br />'; }

Produzione

Tutti i nomi delle categorie della pagina corrente, una per ogni riga.

Ottieni tutti gli ID di categorie del post

Codice

$categories = get_the_category(); foreach( $categories as $category ) { echo $category->term_id . '<br />'; }

Produzione

Tutti gli ID di categorie della pagina corrente, uno su ogni riga.

Leggi get_the_category () online: https://riptutorial.com/it/wordpress/topic/9211/get-the-category---

https://riptutorial.com/it/home 101

Page 119: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 39: get_the_title ()

introduzione

Questa funzione restituisce il titolo del post corrente o il post designato.

Sintassi

get_the_title ($ post)•

Parametri

Parametro Dettagli

$ postale(int) (facoltativo) Post ID o post oggetto. L'impostazione predefinita è l'ID del post corrente.

Osservazioni

Se si prevede di ottenere il titolo di un post o di una pagina utilizzando un ciclo post, si consiglia di utilizzare invece the_title ().

Examples

Semplice utilizzo di get_the_title

Codice

get_the_title();

Produzione

Il titolo del post o della pagina corrente

Ottieni il titolo di un ID post specificato

Codice

get_the_title( 44 );

Produzione

Il titolo del post id: 44.

https://riptutorial.com/it/home 102

Page 120: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Leggi get_the_title () online: https://riptutorial.com/it/wordpress/topic/9214/get-the-title---

https://riptutorial.com/it/home 103

Page 121: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 40: HOME_URL ()

Sintassi

home_url ($ percorso, $ schema);•

Parametri

Parametro Dettagli

$ path ( Stringa , Opzionale ) Per aggiungere più segmenti dopo l'URL di casa.

schema di $

( String , Opzionale ) Schema per fornire il contesto dell'URL di casa. Accetta 'http', 'https', 'relativo', 'resto' o null.

Examples

Ottenere l'URL della casa

home_url() viene utilizzato per recuperare l'URL della home home_url() corrente.

<?php echo esc_url( home_url( '/' ) ) ); ?>

Produzione

http://www.example.com

Indirizzo del sito

Restituisce l'opzione 'site_url' con il protocollo appropriato ( https: //)

<?php echo site_url(); ?>

Produzione

http://www.example.com

Leggi HOME_URL () online: https://riptutorial.com/it/wordpress/topic/1252/home-url---

https://riptutorial.com/it/home 104

Page 122: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 41: il titolo()

introduzione

Questa funzione restituisce il titolo del post corrente.

Sintassi

the_title ($ before, $ after, $ echo);•

Parametri

Parametro Dettagli

$ prima (stringa) (facoltativo) Testo da inserire prima del titolo.

$ dopo (stringa) (facoltativo) Testo da inserire dopo il titolo.

$ echo (Boolean) (opzionale) Visualizza il titolo o lo restituisce per l'utilizzo in PHP

Osservazioni

Per il parametro $ echo, utilizzare true per visualizzare il titolo e usare false per restituirlo per l'utilizzo in PHP

Tieni presente che the_title può essere utilizzato solo nei loop, se vuoi usarlo al di fuori dei loop, usa get_the_title

Examples

Semplice uso di the_title

Codice

the_title( );

Produzione

Il titolo del post o della pagina corrente

Stampa del titolo con il codice prima e dopo

Codice

https://riptutorial.com/it/home 105

Page 123: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

the_title( '<h1>', '</h1>' );

Produzione

Il titolo del post o della pagina corrente nei tag h1

Leggi il titolo() online: https://riptutorial.com/it/wordpress/topic/9213/il-titolo--

https://riptutorial.com/it/home 106

Page 124: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 42: Installazione e configurazione

Examples

Wordpress su LAMP

Ho testato i seguenti passaggi su Amazon EC2 con Ubuntu 14.04

Ecco un riepilogo delle righe di comando per installare lo stack di tecnologia LAMP (prima di installare wordpress):

1: Installa stack tecnologico LAMP

Aggiorna linux

#> sudo apt-get update -> aggiorna le informazioni sugli archivi dei pacchetti

#> sudo apt-get upgrade -> installa gli aggiornamenti dei pacchetti

Installa apache2

#> sudo apt-get install apache2

Installa php

#> sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Installa mysql

#> sudo apt-get install mysql-server php5-mysql

Installa phpmyadmin

#> sudo apt-get install phpmyadmin

Nel caso in cui la cosa sia andata storta, rimuovi il pacchetto installato e i suoi file di configurazione

#> sudo apt-get purge package_name

Una volta installato lo stack, ecco i passaggi per completare l'installazione di wordpress:

2: Installa WordPress

wget https://wordpress.org/latest.zip1.

sudo mkdir /var/www/wordpress2.

Sposta il file zip in / var / www / wordpress ed estrai.3.

cd /etc/apache2/sites-available/4.

https://riptutorial.com/it/home 107

Page 125: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

sudo cp 000-default.conf wordpress.conf5.

Modifica wordpress.conf in modo che apache2 sappia inoltrare qualsiasi richiesta o dominio alla cartella app wordpress.

6.

sudo a2ensite wordpress.conf7.

sudo service apache2 restart8.

Vai a PhpMyAdmin tramite il tuo browser da youdomain.com/phpmyadmin. Crea un nuovo utente "wordpress" e controlla per creare il database corrispondente. cd /var/www/wordpress

9.

sudo cp wp-config-example.php wp-config.php10.

Modifica il file di configurazione per aggiungere le informazioni del tuo database wordpress MySQL.

11.

sudo chown -R www-data:www-data /var/www/wordpress12.

sudo chmod -R 755 /var/www/wordpress/13.

Apri il browser e digita il tuo dominio. Dovresti vedere la pagina di installazione di WordPress. Segui le istruzioni e il gioco è fatto!

14.

Installazione WP in MAMP

È abbastanza semplice installare wordpress in MAMP.

Devi seguire alcuni semplici passaggi:

1 - Scarica MAMP da qui , è gratuito e probabilmente non hai bisogno della versione pro.

2 - Installa sul tuo PC o Mac.

3 - Esegui il programma -> vedrai una piccola finestra aperta, da lì puoi impostare MAMP. Al momento lascia tutti i valori preimpostati, per la prima installazione non è necessario complicare la vita! In futuro ricorda che è buona prassi cambiare la password e il nome utente per il database MySQL. Di default è root.

4 - Clicca su "Apri webStart page" - qui puoi vedere le tue informazioni come password, nome amministratore e anche informazioni su MAMP.

5 - Fare clic su strumenti -> phpMyAdmin e verrai reindirizzato alla pagina del database.

6 - Crea un nuovo database, clicca su nuovo e dagli il nome che vuoi, avrai bisogno di questo nome più tardi.

7 - Ora cerca una cartella chiamata "htdocs", è all'interno della cartella MAMP sul tuo PC o Mac. Se utilizzi un Mac, hai bisogno di un'applicazione in Finder e apri l'app utilizzando "mostra contenuto del pacchetto". All'interno troverai la cartella htdocs .

8 - Prendi la cartella di Wordpress e copialo all'interno di htdocs, devi inserire tutta la cartella, non

https://riptutorial.com/it/home 108

Page 126: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

mettere il file zip. Rinominare la cartella, è possibile chiamare con il nome del progetto.

9 - Ritorna alla finestra di MAMP nel tuo browser e clicca su "Il mio sito" - questo aprirà una chiamata URL http://localhost:8888 (8888 è la porta predefinita, puoi cambiarla se vuoi). Qui puoi vedere la cartella che hai inserito nella cartella htdocs , fare clic sul nome che hai dato alla cartella.

10 - Ora avvia una normale installazione di WordPress, devi usare Admin e Password. Di default è root e root e usa il nome del database che hai creato in precedenza.

11 - Esegui l'installazione e finisci!

Vedrai il tuo sito web su http://localhost:8888/namefolder Naturalmente è necessario mantenere in esecuzione MAMP.

Leggi Installazione e configurazione online: https://riptutorial.com/it/wordpress/topic/6606/installazione-e-configurazione

https://riptutorial.com/it/home 109

Page 127: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 43: L'oggetto $ wpdb

Osservazioni

Esistono due modi per fare riferimento all'oggetto $wpdb . Il primo è usare la parola chiave PHP global per agire sull'istanza globale dell'oggetto.

global $wpdb; echo $wpdb->prefix; // Outputs the prefix for the database

Il secondo modo per usare l'oggetto $wpdb è fare riferimento alla variabile super globale $GLOBALS PHP.

echo $GLOBALS['wpdb']->prefix; // This will also output the prefix for the database

Il secondo modo è scoraggiato in quanto potrebbe non essere considerato la migliore pratica.

Examples

Selezione di una variabile

Nella forma più semplice, è possibile selezionare una singola variabile da una tabella chiamando il metodo get_var dell'oggetto che passa in una query SQL.

global $wpdb; $user = $wpdb->get_var( "SELECT ID FROM $wpdb->users WHERE user_email='[email protected]'" );

È molto importante notare che tutti i valori non attendibili utilizzati nelle query devono essere sottoposti a escape per proteggere dagli attacchi. Questo può essere fatto usando il metodo di prepare dell'oggetto.

global $wpdb; $email = $_POST['email']; $user = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_email=%s", $email ) ); if( !is_null( $user ){ echo $user; } else { echo 'User not found'; }

Selezione di più righe

È possibile utilizzare get_results per ottenere più righe dal database.

https://riptutorial.com/it/home 110

Page 128: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

global $wpdb; $userTable =$wpdb->prefix."users"; $selectUser = $wpdb->get_results("SELECT * FROM $userTable");

Questo mostrerà tutti gli utenti elencati nella matrice.

Leggi L'oggetto $ wpdb online: https://riptutorial.com/it/wordpress/topic/2691/l-oggetto---wpdb

https://riptutorial.com/it/home 111

Page 129: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 44: La barra di amministrazione (aka "The Toolbar")

Osservazioni

La barra degli strumenti di amministrazione di WordPress è stata aggiunta nella versione 3.1 e contiene collegamenti a attività amministrative comuni e collegamenti al profilo dell'utente e ad altre informazioni di WordPress. Tuttavia, molti proprietari di siti non amano mostrare la barra degli strumenti per impostazione predefinita a tutti gli utenti che hanno effettuato l'accesso e / o desiderano aggiungere le proprie opzioni.

Examples

Rimozione della barra degli strumenti di amministrazione da tutti tranne gli amministratori

Aggiungi il seguente codice a functions.php per rimuoverlo da tutti tranne il livello utente Amministratore:

add_action('after_setup_theme', 'no_admin_bar'); function no_admin_bar() { if (!current_user_can('administrator') && !is_admin()) { show_admin_bar(false); } }

Rimozione della barra degli strumenti di amministrazione utilizzando i filtri

Un altro modo per nascondere la barra di amministrazione è aggiungere

if ( !current_user_can( 'manage_options' ) ) { add_filter( 'show_admin_bar', '__return_false' , 1000 ); }

Gli utenti che non dispongono dei privilegi per accedere alla pagina delle impostazioni, non potranno vedere la barra di amministrazione.

Come rimuovere WordPress Logo dalla barra di amministrazione

Gli sviluppatori possono utilizzare l' azione admin_bar_menu per rimuovere elementi dalla barra di amministrazione o dalla barra degli strumenti di WordPress.

add_action('admin_bar_menu', 'remove_wp_logo_from_admin_bar', 999); function remove_wp_logo_from_admin_bar( $wp_admin_bar ) {

https://riptutorial.com/it/home 112

Page 130: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$wp_admin_bar->remove_node('wp-logo'); }

Sopra il codice rimuove il logo WordPress dalla barra di amministrazione. Tutto quello che devi fare è incollare il codice all'interno del tuo file functions.php.

Il parametro passato al metodo remove_node è l'ID del nodo che si desidera rimuovere. Gli ID possono essere trovati nel codice sorgente HTML della pagina di WordPress con una barra degli strumenti. Ad esempio, l'ID dell'elemento li per il logo WordPress a sinistra nella barra degli strumenti è "wp-admin-bar-wp-logo":

<li id="wp-admin-bar-wp-logo" class="menupop"> … </li>

Rimuovi "wp-admin-bar-" dall'ID di li per ottenere l'ID del nodo. Da questo esempio l'ID del nodo è "wp-logo".

Puoi utilizzare gli strumenti di ispezione del browser per trovare l'ID del nodo di vari elementi o nodi sulla barra di amministrazione.

Aggiungi il tuo logo personalizzato e il link personalizzato nella pagina di accesso dell'amministratore

Puoi aggiungere ganci sotto per aggiungere il tuo logo e link per sostituire il logo wordpress predefinito.

Per aggiungere un logo personalizzato

function custom_login_logo() { echo '<style type="text/css"> h1 a { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.png) !important; background-size : 100% !important; width: 300px !important; height : 100px !important;} </style>'; } add_action('login_head', 'custom_login_logo');

Per aggiungere un collegamento logo personalizzato

add_filter( 'login_headerurl', 'custom_loginlogo_url' ); function custom_loginlogo_url($url) { return home_url(); }

Leggi La barra di amministrazione (aka "The Toolbar") online: https://riptutorial.com/it/wordpress/topic/2932/la-barra-di-amministrazione--aka--the-toolbar--

https://riptutorial.com/it/home 113

Page 131: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 45: Messaggi di ricerca

Sintassi

$ the_query = new WP_Query ($ args);•$ posts_array = get_posts ($ args);•

Parametri

Parametro Descrizione

$ args

(array) Un array di argomenti necessari per una query può essere personalizzato su misura per le tue esigenze, ad esempio interrogare i post di una sola categoria, dal tipo di post personalizzato o anche interrogare determinate tassonomie

Osservazioni

Gli argomenti di query sono numerosi. La pagina del codice WP_Query () ha un elenco di parametri. Alcuni di loro sono

Parametri dell'autore•Parametri di categoria•Parametri Tag•Parametri di tassonomia•Cerca parametro•Posta e parametri della pagina•Parametri della password•Digitare i parametri•Parametri di stato•Parametri di impaginazione•Ordina e ordina i parametri•Data Parametri•Parametri di campo personalizzati•Parametri di autorizzazione•Parametri di tipo Mime•Parametri di memorizzazione nella cache•Parametro dei campi di restituzione•

Una delle cose più importanti da tenere a mente è:

Non utilizzare mai query_posts ()

query_posts()

https://riptutorial.com/it/home 114

Page 132: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

sovrascrive la query principale e può causare problemi nel resto del tema. Ogni volta che è necessario modificare la query principale (o qualsiasi altra query) è necessario utilizzare il filtro pre_get_posts . Ciò ti consentirà di modificare la query prima dell'esecuzione.

Anche quando stai interrogando i post, dovresti sempre resettarlo usando wp_reset_postdata () . Ciò ripristinerà la variabile globale $post del ciclo di query principale e non avrai più problemi in seguito (come le categorie escluse, perché nel tuo ciclo secondario le hai escluse e hai dimenticato di reimpostare la query).

Examples

Usando l'oggetto WP_Query ()

La creazione di un'istanza separata dell'oggetto WP_Query è semplice:

$query_args = array( 'post_type' => 'post', 'post_per_page' => 10 ); $my_query = new WP_Query($query_args); if( $my_query->have_posts() ): while( $my_query->have_posts() ): $my_query->the_post(); //My custom query loop endwhile; endif; wp_reset_postdata();

Si noti che è necessario creare l'array di argomenti della query sulla specifica. Per maggiori dettagli, guarda la pagina del codice WP_Query .

Utilizzando get_posts ()

get_posts() è un wrapper per un'istanza separata di un oggetto WP_Query . Il valore restituito è una matrice di oggetto post.

global $post; $args = array( 'numberposts' => 5, 'offset'=> 1, 'category' => 1 ); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php endforeach; wp_reset_postdata(); ?>

https://riptutorial.com/it/home 115

Page 133: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Per maggiori informazioni consulta la pagina del codice get_posts () .

Leggi Messaggi di ricerca online: https://riptutorial.com/it/wordpress/topic/4002/messaggi-di-ricerca

https://riptutorial.com/it/home 116

Page 134: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 46: Meta Box

introduzione

Semplice utilizzo di una Meta Box negli editor di contenuti wp-admin

Sintassi

_x ('Text', 'Description', 'textdomain') è usato per aggiungere una descrizione per il servizio di traduzione invece di __ ('Text', 'textdomain') che è solo la traduzione

_ex ('Text', 'Description', 'textdomain') è usato per echo testo tradotto con una descrizione•

Osservazioni

Il contenuto all'interno della casella di rendering può essere qualsiasi cosa. Invece di integrare direttamente i valori, puoi anche utilizzare un include con un modello PHP e utilizzare il metodo set_query_var per passare i dati ad esso. Il salvataggio avrebbe funzionato allo stesso modo.

Examples

Un semplice esempio con un input regolare e un input select

/** * Add meta box to post types. * * @since 1.0.0 */ function myplugin_add_meta_box() { // Set up the default post types/ $types = array( 'post', ); // Optional filter for adding the meta box to more types. Uncomment to use. // $types = apply_filters( 'myplugin_meta_box_types', $types ); // Add the meta box to the page add_meta_box( 'myplugin-meta-box', // Meta Box Id. Can be anything. _x( 'Custom Meta', 'Custom Meta Box', 'myplugin' ), // The title of the meta box. Translation is optional. Can just be string. 'myplugin_render_meta_box', // The render meta box function. $types, // Add the post types to which to add the meta box. 'side', // Show on the side of edit. 'high' // Show at top of edit. ); } add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );

https://riptutorial.com/it/home 117

Page 135: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

/** * Render the meta box. * * This shows examples of a basic input and a select inside a meta box. These can be anything. * * @since 1.0.0 * * @param $post WP_Post The post being edited. */ function myplugin_render_meta_box( $post ) { // Get the current post meta values for our custom meta box. $city = get_post_meta( $post->ID, 'city', true ); // True is for returning a single value. $country = get_post_meta( $post->ID, 'country', true ); // True is for returning a single value. // Add the WP Nonce field for security. wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_meta_nonce' ); ?> <p> <label for="city"> <?php _ex( 'City', 'Custom Meta Box Template', 'myplugin' ); ?> </label> <input name="city" id="city" value="<?php echo $city; ?>" /> </p> <p> <label for="country"> <?php _ex( 'Country', 'Custom Meta Box Template', 'myplugin' ); ?> </label> <select name="country" id="country"> <option value="United States" <?php selected( $country, 'United States' ); ?>><?php _ex( 'United States', 'Custom Meta Box Template', 'myplugin' ); ?></option> <option value="Mexico" <?php selected( $country, 'Mexico' ); ?>><?php _ex( 'Mexico', 'Custom Meta Box Template', 'myplugin' ); ?></option> <option value="Canada" <?php selected( $country, 'Canada' ); ?>><?php _ex( 'Canada', 'Custom Meta Box Template', 'myplugin' ); ?></option> </select> </p> <?php } /** * Save meta box data. * * @since 1.0.0 * * @param $post_id int The Id of the Post being saved. */ function myplugin_save_meta_data( $post_id ) { // Verify this is not an auto save. if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } // Validate the meta box nonce for security. if ( ! isset( $_POST['myplugin_meta_nonce'] ) || ! wp_verify_nonce( $_POST['myplugin_meta_nonce'], plugin_basename( __FILE__ ) ) ) { return; }

https://riptutorial.com/it/home 118

Page 136: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// Get the new values from the form. $city = $_POST['city']; $country = $_POST['country']; // update_post_meta will add the value if it doesn't exist or update it if it does. update_post_meta( $post_id, 'city', $city ); update_post_meta( $post_id, 'country', $country ); /* * OPTIONAL ALTERNATIVE * * Instead of just using update_post_meta, you could also check the values and * issue create/update/delete on the post meta value. */ // $current_city_value = get_post_meta( $post_id, 'city', true ); // True is for returning a single value. // // // Add the post meta if it doesn't exist. // if ( $city && '' === $city ) { // add_post_meta( $post_id, 'city', $city, true ); // True means the key is unique to the post. False is default and more than one can be added. // } // // Edit the post meta if it does exist and there is a new value. // elseif ( $city && $city != $current_city_value ) { // update_post_meta( $post_id, 'city', $city ); // } // // Delete the post meta if there is no new value. // elseif ( '' === $city && $current_city_value ) { // delete_post_meta( $post_id, 'city', $current_city_value ); // $current_city_value is optional and is used to differentiate between other values with the same key. // } } add_action( 'save_post', 'myplugin_save_meta_data' );

Leggi Meta Box online: https://riptutorial.com/it/wordpress/topic/9611/meta-box

https://riptutorial.com/it/home 119

Page 137: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 47: Migrazione del sito

Sintassi

OLD_SITE - Il vecchio sito sottoposto a migrazione (ad esempio: http: // localhost / example)•NEW_SITE: il nuovo sito su cui eseguire la migrazione (ad esempio: https://example.com•

Examples

Aggiornamento delle tabelle con un nuovo URL

UPDATE wp_options SET option_value = replace(option_value, 'OLD_SITE, 'NEW_SITE') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'OLD_SITE','NEW_SITE'); UPDATE wp_posts SET post_content = replace(post_content, 'OLD_SITE', 'NEW_SITE');

Leggi Migrazione del sito online: https://riptutorial.com/it/wordpress/topic/9610/migrazione-del-sito

https://riptutorial.com/it/home 120

Page 138: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 48: Nozioni di base sui temi del bambino

Sintassi

template - è il nome del tema principale di WordPress, il genitore.•child-theme - è il pacchetto che sovrascrive il modello .•

Osservazioni

Ho fatto pubblicità che l'uso di un tema figlio è sempre una buona cosa, ma c'è sempre un Ma ...

Nel nostro esempio di sovrascrittura dei modelli immaginiamo che l'autore di un tema stia aggiungendo i propri miglioramenti al modello della barra laterale e ce ne sarà uno nuovo a

/themes/template/sidebar.php

<?php /** * The template for the sidebar containing the main widget area * * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials */ if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <aside id="secondary" class="sidebar widget-area" role="complementary"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </aside><!-- .sidebar .widget-area --> <?php endif; ?>

Ora il nostro sito Web non trarrà vantaggio dalla nuova specifica role="complementary" perché il nostro tema figlio sta ancora sovrascrivendo il modello con il proprio file in /themes/child-theme/sidebar.php

È nostro dovere, in qualità di manutentori del sito Web, tenere traccia dei modelli che sovrascriviamo e, nel caso imminente di un aggiornamento, esaminare attentamente il log delle modifiche in modo da aggiornare i file del tema figlio, se necessario.

Examples

2) Lo scopo

I temi figli sono pensati per essere un modo sicuro per mantenere le personalizzazioni del modello principale senza temere di perderli su un aggiornamento del tema.

Fondamentalmente, ogni volta che vuoi modificare un file all'interno del template attivo dal tuo sito web devi chiederti " Cosa succederà quando aggiornerò il tema?

https://riptutorial.com/it/home 121

Page 139: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

E la risposta è semplice: li perdi perché l'aggiornamento porterà una cartella di temi completamente nuova .

Diamo un'occhiata a un tema figlio come una cartella con file che sovrascriverà i file con lo stesso percorso nel tema principale. Ora portiamo alcuni esempi reali:

Definizione e requisiti

Un tema figlio viene identificato da WordPress quando esiste una directory (ad esempio child-theme ) all'interno di /wp-content/themes/ con i seguenti file:

style.css

Questo file deve iniziare con un modello di commento come questo:

/* Theme Name: Example Child Author: Me Author URI: https://example.com/ Template: example Text Domain: example-child-theme Domain Path: /languages/ */

Le cose più importanti da considerare qui sono:

Il nome del Template deve essere esattamente il nome della cartella che contiene il tema principale (ovvero lo slug del tema principale)

Assegna un nome al tuo tema figlio in modo che tu possa facilmente identificarlo in Dashboard (di solito basta aggiungere Child al nome del genitore, come Example Child )

index.php•

functions.php•

3) Sovrascrittura modello

L'uso più comune di un tema figlio consiste nell'override delle parti del modello. Ad esempio, una barra laterale, se abbiamo un tema con il seguente file in

/themes/template/sidebar.php

<?php /** * The sidebar containing the main widget area. * * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials */ if ( ! is_active_sidebar( 'sidebar-1' ) ) { return; }?> <div id="sidebar" class="widget-area">

https://riptutorial.com/it/home 122

Page 140: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<?php dynamic_sidebar( 'sidebar-1' ); ?> </div>

Possiamo sicuramente aggiungere il nostro file in tema figlio (con le specifiche del primo esempio) con il seguente file

/themes/child-theme/sidebar.php

<?php /** * The sidebar containing the main widget area. */ if ( ! is_active_sidebar( 'sidebar-1' ) ) { return; }?> <div id="my-sidebar" class="my-own-awesome-class widget-area"> <div class="my-wrapper"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </div> </div>

Ora my-own-awesome-class è sicuro nel tema secondario e non verrà rimosso in alcun aggiornamento del tema e WordPress sceglierà sempre un modello da temi figlio quando ne trova uno sullo stesso percorso.

Sostituzione delle risorse

Anche se non è una buona pratica, a volte è necessario sostituire risorse come file CSS o JS o librerie.

Nota che il sistema di sovrascrittura dei template di WordPress non funziona con nient'altro che i file .php , quindi quando parliamo di risorse ci riferiamo alle risorse registrate

Un esempio potrebbe essere la sostituzione della libreria jQuery con la versione desiderata. Nel file functions.php tema figlio è necessario aggiungere una funzione che rimuova la versione corrente di jQuery e aggiunga la nostra da CDN (ricordare è solo un esempio).

/** * Dequeue the jQuery script and add our own version. * * Hooked to the wp_print_scripts action, with a late priority (100), * so that it is after the script was enqueued. */ function my_own_theme_scripts() { // remove the current version wp_dequeue_script( 'jquery' ); // register my desired version wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.1.0.min.js', false, '3.1.0' ); // load my version, here or somewhere else wp_enqueue_script( 'jquery' ); } add_action( 'wp_print_scripts', 'my_own_theme_scripts' );

https://riptutorial.com/it/home 123

Page 141: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Leggi Nozioni di base sui temi del bambino online: https://riptutorial.com/it/wordpress/topic/6238/nozioni-di-base-sui-temi-del-bambino

https://riptutorial.com/it/home 124

Page 142: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 49: Nozioni di base sulla personalizzazione (aggiungi pannello, sezione, impostazioni, controllo)

Examples

Aggiungi un pannello di personalizzazione

<?php /** * Panel: WPCustomize * * Basic Customizer panel with basic controls. * * @since 1.0.0 * @package WPC */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } // Customize function. if ( ! function_exists( 'wpc_panel_wpcustomize' ) ) { // Customize Register action. add_action( 'customize_register', 'wpc_panel_wpcustomize' ); /** * Customize Panel. * * Adds a Panel, Section with basic controls. * * @param object WP_Customize $wp_customize Instance of the WP_Customize_Manager class. * @since 1.0.0 */ function wpc_panel_wpcustomize( $wp_customize ) { // Panel: Basic. $wp_customize->add_panel( 'wpc_panel_wpcustomize', array( 'priority' => 10, 'title' => __( 'WPCustomize Panel Title', 'WPC' ), 'description' => __( 'Panel Description', 'WPC' ), 'capability' => 'edit_theme_options' ) ); } }

Aggiungi una sezione di personalizzazione con le impostazioni di base e i relativi controlli

I pannelli possono avere sezioni, le sezioni possono avere impostazioni e le impostazioni possono avere controlli. Le impostazioni vengono salvate nel database, mentre i controlli per particolari

https://riptutorial.com/it/home 125

Page 143: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

impostazioni vengono utilizzati solo per visualizzare le relative impostazioni all'utente.

Questo codice crea una section base nel panel dall'alto. All'interno ci sono alcune settings base con controls collegati.

<?php /** * Section: Basic * * Basic Customizer section with basic controls. * * @since 1.0.0 * @package WPC */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } // Customize function. if ( ! function_exists( 'wpc_customize_panel_basic' ) ) { // Customize Register action. add_action( 'customize_register', 'wpc_customize_panel_basic' ); /** * Customize Panel. * * Adds a Panel, Section with basic controls. * * @param object WP_Customize $wp_customize Instance of the WP_Customize_Manager class. * @since 1.0.0 */ function wpc_customize_panel_basic( $wp_customize ) { // Section: Basic. $wp_customize->add_section( 'wpc_section_basic', array( 'priority' => 10, 'panel' => 'wpc_panel_wpcustomize', 'title' => __( 'Basic Section Title', 'WPC' ), 'description' => __( 'Section Description.', 'WPC' ), 'capability' => 'edit_theme_options' ) ); // Setting: Text. $wp_customize->add_setting( 'wpc_text', array( 'type' => 'theme_mod', 'default' => 'Placeholder.', 'transport' => 'refresh', // Options: refresh or postMessage. 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr' ) ); // Control: Text. $wp_customize->add_control( 'wpc_text', array( 'label' => __( 'Text', 'WPC' ), 'description' => __( 'Description', 'WPC' ), 'section' => 'wpc_section_basic', 'type' => 'text' ) );

https://riptutorial.com/it/home 126

Page 144: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// Setting: Textarea. $wp_customize->add_setting( 'wpc_textarea', array( 'type' => 'theme_mod', 'default' => 'Placeholder textarea.', 'transport' => 'refresh', // Options: refresh or postMessage. 'capability' => 'edit_theme_options', 'sanitize_callback' => 'exc_textarea' ) ); // Control: Textarea. $wp_customize->add_control( 'wpc_textarea', array( 'label' => __( 'Textarea', 'WPC' ), 'description' => __( 'Description', 'WPC' ), 'section' => 'wpc_section_basic', 'type' => 'textarea' ) ); // Setting: Checkbox. $wp_customize->add_setting( 'wpc_checkbox', array( 'type' => 'theme_mod', 'default' => 'enable', 'transport' => 'refresh', // Options: refresh or postMessage. 'capability' => 'edit_theme_options', 'sanitize_callback' => 'wpc_sanitize_checkbox' // Custom function in customizer-sanitization.php file. ) ); // Control: Checkbox. $wp_customize->add_control( 'wpc_checkbox', array( 'label' => __( 'Checkbox', 'WPC' ), 'description' => __( 'Description', 'WPC' ), 'section' => 'wpc_section_basic', 'type' => 'checkbox' ) ); // Setting: Radio. $wp_customize->add_setting( 'wpc_radio', array( 'type' => 'theme_mod', 'default' => 'on', 'transport' => 'refresh', // Options: refresh or postMessage. 'capability' => 'edit_theme_options', 'sanitize_callback' => 'wpc_sanitize_select', // Custom function in customizer-sanitization.php file. ) ); // Control: Radio. $wp_customize->add_control( 'wpc_radio', array( 'label' => __( 'Radio', 'WPC' ), 'description' => __( 'Description', 'WPC' ), 'section' => 'wpc_section_basic', 'type' => 'radio', 'choices' => array( 'enable' => 'Enable', 'disable' => 'Disable' ) ) ); // Setting: Select. $wp_customize->add_setting( 'wpc_select', array( 'type' => 'theme_mod', 'default' => 'enable',

https://riptutorial.com/it/home 127

Page 145: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

'transport' => 'refresh', // Options: refresh or postMessage. 'capability' => 'edit_theme_options', 'sanitize_callback' => 'wpc_sanitize_select' // Custom function in customizer-sanitization.php file. ) ); // Control: Select. $wp_customize->add_control( 'wpc_select', array( 'label' => __( 'Select', 'WPC' ), 'description' => __( 'Description', 'WPC' ), 'section' => 'wpc_section_basic', 'type' => 'select', 'choices' => array( 'enable' => 'Enable', 'disable' => 'Disable' ) ) ); } }

Leggi Nozioni di base sulla personalizzazione (aggiungi pannello, sezione, impostazioni, controllo) online: https://riptutorial.com/it/wordpress/topic/2930/nozioni-di-base-sulla-personalizzazione--aggiungi-pannello--sezione--impostazioni--controllo-

https://riptutorial.com/it/home 128

Page 146: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 50: Opzioni API

introduzione

Le opzioni sono pezzi di dati che WordPress utilizza per memorizzare varie preferenze e impostazioni di configurazione. L'API delle opzioni è un modo semplice e standardizzato di memorizzazione dei dati nel database. L'API semplifica la creazione, l'accesso, l'aggiornamento e l'eliminazione delle opzioni.

Sintassi

// Crea una nuova opzione in WordPress add_option ($ option, $ value =, $ deprecated =, $ autoload = 'yes');

// Rimuove un'opzione dal database. delete_option ($ option);

// Recupera un'opzione salvata get_option ($ option, $ default = false);

// Aggiorna il valore di un'opzione che è stata già aggiunta. update_option ($ option, $ newvalue);

// Ci sono anche le versioni * _site_option () di queste funzioni, // per manipolare le opzioni a livello di rete in WordPress Multisito

// Crea una nuova opzione di rete add_site_option ($ option, $ value =, $ deprecated =, $ autoload = 'yes');

// Rimuove un'opzione di rete delete_site_option ($ option);

// Recupera un'opzione di rete salvata get_site_option ($ option, $ default = false);

// Aggiorna il valore di un'opzione che è stata già aggiunta. update_site_option ($ option, $ newvalue);

Osservazioni

L'API Options è un modo semplice e standardizzato di lavorare con i dati presenti nella tabella delle opzioni del database MySQL. L'API semplifica la creazione, la lettura, l'aggiornamento e l'eliminazione delle opzioni.

Examples

https://riptutorial.com/it/home 129

Page 147: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

get_option

la funzione get_option viene utilizzata per recuperare un valore dalla tabella delle opzioni in base al nome dell'opzione.

È possibile utilizzare il seguente codice per ottenere l'indirizzo email di un amministratore del sito WordPress.

<?php echo get_option('admin_email'); ?>

get_option() ha un secondo argomento opzionale, che consente di impostare un valore predefinito da restituire nel caso in cui l'opzione richiesta non sia impostata. Per impostazione predefinita, questo argomento è false .

Per recuperare una stringa di testo e utilizzare una stringa boilerplate se il testo non è impostato nella tabella delle opzioni, puoi eseguire questa operazione:

<?php get_option( 'my_text', "I don't have anything written. Yet." ); ?>

add_option

add_option function ins utilizzati per inserire nuove righe nella tabella delle opzioni.

Ciò inserirà una nuova riga nella tabella delle opzioni con il nome dell'opzione some_option_name e valore come some_option_value

<?php add_option( 'some_option_name', 'some_option_value' ); ?>

delete_option

La funzione delete_option è usata per cancellare un'opzione dalla tabella delle opzioni.

Questo eliminerà my_custom_option dalla tabella delle opzioni.

<?php delete_option( 'my_custom_option' ); ?>

update_option

La funzione update_option viene utilizzata per aggiornare un valore già esistente nella tabella delle opzioni. Se l'opzione non esiste, l'opzione verrà aggiunta con il valore dell'opzione.

Questo imposterà lo stato di commento predefinito a 'chiuso':

update_option( 'default_comment_status', 'closed' );

Leggi Opzioni API online: https://riptutorial.com/it/wordpress/topic/7854/opzioni-api

https://riptutorial.com/it/home 130

Page 148: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 51: Post formati

Osservazioni

I seguenti formati di post sono disponibili per gli utenti tra cui scegliere, se il tema ne consente il supporto.

Si noti che mentre la voce del contenuto del post non cambia, il tema può utilizzare questa scelta utente per visualizzare il post in modo diverso in base al formato scelto. Ad esempio, un tema potrebbe lasciare fuori la visualizzazione del titolo per un post di "Stato". Il modo in cui le cose vengono visualizzate dipende interamente dal tema, ma ecco alcune linee guida generali.

a parte - In genere in stile senza titolo. Simile a un aggiornamento della nota di Facebook.•galleria - Una galleria di immagini. Post probabilmente conterrà uno shortcode della galleria e avrà allegati di immagini.

link - Un collegamento ad un altro sito. I temi potrebbero voler utilizzare il primo tag nel contenuto del post come link esterno per quel post. Un approccio alternativo potrebbe essere se il post consiste solo di un URL, quindi quello sarà l'URL e il titolo (post_title) sarà il nome associato all'ancora per esso.

image - Una singola immagine. Il primo tag nel post potrebbe essere considerato l'immagine. In alternativa, se il post consiste solo di un URL, questo sarà l'URL dell'immagine e il titolo del post (post_title) sarà l'attributo title per l'immagine.

quote - Una citazione. Probabilmente conterrà un blocco con il contenuto del preventivo. In alternativa, la citazione potrebbe essere solo il contenuto, con la fonte / autore come titolo.

stato: un breve aggiornamento di stato, simile a un aggiornamento di stato di Twitter.•video - Una singola playlist di video o video. Il primo tag o oggetto / incorporato nel contenuto del post potrebbe essere considerato il video. In alternativa, se il post consiste solo di un URL, questo sarà l'URL del video. Può contenere anche il video come allegato al post, se il supporto video è abilitato sul blog (come tramite un plugin). audio: un file audio o una playlist. Potrebbe essere usato per il podcasting.

chat - Una trascrizione della chat•

Examples

Aggiunta di un post al tema

Aggiungi post-formati alla "pagina" post_type

add_post_type_support( 'page', 'post-formats' );

Il prossimo esempio registra il tipo di post personalizzato "my_custom_post_type" e aggiunge Post Formats.

Registra il tipo di messaggio personalizzato "my_custom_post_type"

https://riptutorial.com/it/home 131

Page 149: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

add_action( 'init', 'create_my_post_type' ); function create_my_post_type() { register_post_type( 'my_custom_post_type', array( 'labels' => array( 'name' => __( 'Products' ) ), 'public' => true ) ); }

Aggiungi post-formati a post_type 'my_custom_post_type'

add_post_type_support( 'my_custom_post_type', 'post-formats' );

Oppure nella funzione register_post_type (), aggiungi "post-formati", nella matrice di parametri "supports". Il prossimo esempio è equivalente a sopra uno.

Registra il tipo di messaggio personalizzato "my_custom_post_type" con il parametro "supports"

add_action( 'init', 'create_my_post_type' ); function create_my_post_type() { register_post_type( 'my_custom_post_type', array( 'labels' => array( 'name' => __( 'Products' ) ), 'public' => true, 'supports' => array('title', 'editor', 'post-formats') ) ); }

Aggiungi supporto tematico per post

Chiamata di funzione

add_theme_support( 'post-formats' )

Leggi Post formati online: https://riptutorial.com/it/wordpress/topic/6075/post-formati

https://riptutorial.com/it/home 132

Page 150: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 52: Proteggi la tua installazione

Osservazioni

I siti web di WordPress sono spesso violati. Questo argomento è per le tecniche e le pratiche che aumentano la sicurezza della tua installazione di WordPress oltre a quanto ottenuto in un'installazione di base.

Oltre a questo argomento, un altro buon punto da leggere su come proteggere un'installazione di WordPress è la pagina di WordPress Codex di Hardening .

Examples

Disattiva Editor di file

L'editor di file fornito con WordPress è un rischio per la sicurezza. Se un utente malintenzionato ottiene l'accesso amministrativo al tuo sito Web WordPress, sarà facilmente in grado di inserire codice dannoso in file di temi e plug-in. È anche un rischio per i clienti che non sanno cosa stanno facendo. Una volta i due punti errati nell'editor di file possono rompere un sito e renderlo inaccessibile dal browser.

Nel tuo file wp-config.php WordPress, disabilita l'editor di file aggiungendo la seguente riga di codice.

define( 'DISALLOW_FILE_EDIT', true );

Quella linea avrà l'effetto desiderato se aggiunta al file functions.php del tuo tema, ma è meglio aggiungere a wp-config.php .

Se stai usando WordPress CLI per installare WordPress puoi usare il seguente comando per creare un file wp-config.php con la modifica dei file disabilitata.

/* declare variables beforehand or substitute strings in */ wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP define( 'DISALLOW_FILE_EDIT', true ); PHP

Questo metodo è utile se si installa WordPress con uno script.

Muovi wp-config.php

Le informazioni più sensibili di un'installazione di WordPress sono memorizzate nel file wp-config.php . Se un hacker ottiene l'accesso a questo file, ha il controllo totale del tuo sito web.

Di default wp-config.php è memorizzato nella cartella di installazione di WordPress. Per rendere

https://riptutorial.com/it/home 133

Page 151: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

questo file più difficile da rubare, puoi spostarlo dalla cartella accessibile web. Se lo sposti solo una cartella sopra, WordPress lo troverà automaticamente. Se sposti wp-config.php in una posizione diversa, crea un file vuoto chiamato wp-config.php nella cartella di installazione di WordPress. Quindi aggiungere il seguente:

define('ABSPATH', dirname(__FILE__) . '/'); // '../../wp-config.php' defines location two folders above installation folder. // Substitute with actual location of wp-config.php file as necessary. require_once(ABSPATH . '../../wp-config.php');

Potrebbe essere necessario rendere eseguibile php nella cartella in cui si inserisce wp-config.php. Dovresti rendere eseguibile php nel minor numero possibile di cartelle. Un buon sistema mette l'installazione di WordPress in /path/to/wordpress/install/ e la configurazione in /path/to/wordpress/config . Assicurati che la cartella di configurazione non sia accessibile dal Web e non inserisca altre informazioni riservate in /path/to/ o più in alto nella gerarchia delle cartelle. In questo caso dovresti scrivere una riga simile alla seguente nel tuo php.ini :

open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"

Questa tecnica è controversa e alcune persone non pensano che migliori la sicurezza. Un'ampia discussione sull'argomento può essere letta in questa domanda WordPress StackExchange .

Imposta un prefisso personalizzato per le tabelle di WordPress

Quando installi WordPress sul tuo server, lo script di installazione inserirà un prefisso davanti a tutti i nomi delle tabelle MySQL di WordPress. Questo prefisso è impostato su "wp_" per impostazione predefinita. La tabella dei post di WordPress verrà chiamata wp_posts ad esempio. Cambiando il prefisso della tabella è possibile creare un po 'di sicurezza per oscurità. In questo modo, quando un hacker tenta di eseguire attacchi SQL injection, dovrà indovinare il prefisso del proprio tavolo piuttosto che usare solo "wp_". Puoi impostare questo prefisso per essere quello che vuoi.

Imposta prefisso nella nuova installazione di WordPress

Se si utilizza la famosa installazione di 5 minuti, cambiare il prefisso in campo durante l'installazione.

https://riptutorial.com/it/home 134

Page 152: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Se l'installazione avviene tramite CLI di WordPress, utilizzare il seguente comando:

// set other variables above, or substitute your strings in. WP_DBPREFIX=foo wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU

Cambia prefisso nell'installazione esistente

Cambiare il prefisso è un po 'più difficile. In primo luogo utilizzare un programma FTP come FileZilla per modificare il file wp-config.php . Cambia la voce $table_prefix = 'wp_'; a $table_prefix = 'foo_'; sostituendo 'pippo' per il prefisso desiderato.

Successivamente dovremo modificare il database. Se hai accesso a phpMyAdmin, effettua il login e fai quanto segue:

Seleziona il database di WordPress •

https://riptutorial.com/it/home 135

Page 153: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Seleziona tutte le tabelle e nel menu a discesa seleziona sostituisci prefisso tabella. •

In "Da" digita "wp_". In "A" digita il prefisso, "pippo_" in questo esempio e premi "Invia". •

Le tabelle dovrebbero ora assomigliare a questo: •

Se non è possibile utilizzare phpMyAdmin, utilizzare il seguente comando MySQL:

https://riptutorial.com/it/home 136

Page 154: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

RENAME table `wp_comments` TO `foo_comments`

Avrai bisogno di eseguire quel comando per ogni tabella, sostituendo 'commenti' per gli altri nomi di tabelle.

Quindi dobbiamo modificare alcune voci in alcune tabelle. Esegui questa query sulla tabella 'foo_options'

SELECT * FROM foo_options WHERE option_name LIKE '%user_roles%'

Dovrebbe apparire una voce con nome_opzione di "wp_user_roles". In quella voce cambia la voce 'option_name' da wp_user_roles a foo_user_roles .

Quindi apri la tabella "foo_usermeta" e trova tutte le voci con "wp_" in primo piano.

e cambialo in "foo_". Il numero di voci che devi modificare dipenderà dal numero di utenti che hai.

https://riptutorial.com/it/home 137

Page 155: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Questo dovrebbe essere tutto ciò che serve per cambiare il prefisso in un'installazione esistente

Leggi Proteggi la tua installazione online: https://riptutorial.com/it/wordpress/topic/7594/proteggi-la-tua-installazione

https://riptutorial.com/it/home 138

Page 156: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 53: Rimuovi interruzioni di riga automatiche dal contenuto e dall'estratto

introduzione

Per i siti che si basano su HTML a mano nell'editor o in estratti, quelli che si desidera codificare, le interruzioni di riga automatiche possono essere un fastidio. Puoi disabilitarli rimuovendo questi filtri.

Osservazioni

Questi devono essere eseguiti direttamente in un file di inclusione. Che si tratti di functions.php o di un altro file, questi non possono essere racchiusi in un hook. Non funzioneranno su init o su qualsiasi altro che ho trovato finora.

Possono anche essere inclusi direttamente in un modello come page.php da eseguire solo per quel modello.

NOTA: NON INCLUDERE QUESTO IN UN TEMA DISTRIBUITO O IN UN PLUGIN (a meno che non sia disabilitato di default, come non includere il file di inclusione in cui è inserito, a meno che l'utente non specifichi).

Questa è una cattiva pratica da includere in un sito che non controlli perché può e interromperà l'output di altri temi o plugin.

Examples

Rimuovi i filtri

// Remove the auto-paragraph and auto-line-break from the content remove_filter( 'the_content', 'wpautop' ); // Remove the auto-paragraph and auto-line-break from the excerpt remove_filter( 'the_excerpt', 'wpautop' );

Funzione per rimuovere i filtri

/** * Remove the automatic line breaks from content and excerpts. * * @since 1.0.0 */ function remove_content_auto_line_breaks() { // Remove the auto-paragraph and auto-line-break from the content remove_filter( 'the_content', 'wpautop' );

https://riptutorial.com/it/home 139

Page 157: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// Remove the auto-paragraph and auto-line-break from the excerpt remove_filter( 'the_excerpt', 'wpautop' ); } // Execute the function remove_content_auto_line_breaks();

Leggi Rimuovi interruzioni di riga automatiche dal contenuto e dall'estratto online: https://riptutorial.com/it/wordpress/topic/9614/rimuovi-interruzioni-di-riga-automatiche-dal-contenuto-e-dall-estratto

https://riptutorial.com/it/home 140

Page 158: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 54: Rimuovi la versione da Wordpress e Stylesheets

introduzione

Per rendere più difficile agli altri hackerare il tuo sito web, puoi rimuovere il numero di versione di WordPress dal tuo sito, i tuoi css e js. Senza quel numero non è possibile vedere se non si esegue la versione corrente per sfruttare i bug delle versioni precedenti.

Inoltre, può migliorare la velocità di caricamento del tuo sito, perché senza le stringhe di query nell'URL i file css e js possono essere memorizzati nella cache.

Sintassi

add_filter ($ tag, $ function_to_add, $ priority, $ accepted_args)•

Parametri

Parametro Dettagli

$ tag (stringa richiesta) Nome del filtro a cui è agganciato $ function_to_add

$ function_to_add

(richiesto chiamabile) Nome della funzione che viene eseguita quando viene applicato il filtro

$ priorità(int opzionale) luogo di $ function_to_add tra altre funzioni in un'azione (default = 10)

$ accepted_args(int opzionale) Numero di parametri che $ function_to_add accetta (default = 1)

Osservazioni

Destinato a migliorare la velocità e la sicurezza del sito.

Examples

Rimuovi i numeri di versione da css / js

Basta aggiungere questa funzione al tuo functions.php. Rimuoverà la versione da tutti i file js e css accodati.

https://riptutorial.com/it/home 141

Page 159: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

function remove_cssjs_ver( $src ) { if( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'remove_cssjs_ver', 999 ); add_filter( 'script_loader_src', 'remove_cssjs_ver', 999 );

Rimuovi i numeri di versione da WordPress

Se lo aggiungi alle tue funzioni.php, rimuove il numero di versione di WordPress dal feed RSS e dall'intestazione.

function remove_wordpress_ver() { return ''; } add_filter('the_generator', 'remove_wordpress_ver', 999);

Leggi Rimuovi la versione da Wordpress e Stylesheets online: https://riptutorial.com/it/wordpress/topic/6218/rimuovi-la-versione-da-wordpress-e-stylesheets

https://riptutorial.com/it/home 142

Page 160: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 55: Scansioni di script

Sintassi

wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer)•

Parametri

Parametro Dettagli

$ maniglia (stringa) (obbligatorio) Nome dello script. Dovrebbe essere unico.

$ src(stringa) (Facoltativo) URL completo dello script o percorso dello script relativo alla directory principale di WordPress. Valore predefinito: falso

$ dipendenze

(array) (Facoltativo) Un array di script registrato gestisce questo script dipende da. Valore predefinito: array ()

$ ver

(stringa | bool | null) (Facoltativo) Stringa che specifica il numero di versione dello script, se ne ha uno, che viene aggiunto all'URL come stringa di query per scopi di busting della cache. Se la versione è impostata su false, viene aggiunto automaticamente un numero di versione uguale alla versione di WordPress installata corrente. Se impostato su null, non viene aggiunta alcuna versione. Valore predefinito: falso

$ in_footer(bool) (Opzionale) Se accodare lo script prima di </body> anziché in <head> . Valore predefinito: falso

Examples

Scoraggiando gli script in functions.php

Se vuoi aggiungere lo script custom.js che si trova nella cartella js/ del tuo tema, dovrai accodarlo. In functions.php aggiungi

<?php add_action( 'after_setup_theme', 'yourtheme_theme_setup' ); if ( ! function_exists( 'yourtheme_theme_setup' ) ) { function yourtheme_theme_setup() { add_action( 'wp_enqueue_scripts', 'yourtheme_scripts' ); add_action( 'admin_enqueue_scripts', 'yourtheme_admin_scripts' ); } }

https://riptutorial.com/it/home 143

Page 161: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

if ( ! function_exists( 'yourtheme_scripts' ) ) { function yourtheme_scripts() { wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery' ), '1.0.0', true ); } } if ( ! function_exists( 'yourtheme_admin_scripts' ) ) { function yourtheme_admin_scripts() { wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery-ui-autocomplete', 'jquery' ), '1.0.0', true ); } }

Script Enqueue solo per IE

add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' ); /** * Enqueue scripts (or styles) conditionally. * * Load scripts (or stylesheets) specifically for IE. IE10 and above does * not support conditional comments in standards mode. * * @link https://gist.github.com/wpscholar/4947518 * @link https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx */ function enqueue_my_styles_and_scripts() { // Internet Explorer HTML5 support wp_enqueue_script( 'html5shiv',get_template_directory_uri().'/js/html5shiv.js', array(), '3.7.3', false); wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' ); // Internet Explorer 8 media query support wp_enqueue_script( 'respond', get_template_directory_uri().'/js/respond.js', array(), '1.4.2', false); wp_script_add_data( 'respond', 'conditional', 'lt IE 9' ); }

Scoraggiando script in modo condizionale per pagine specifiche

Puoi utilizzare operatori condizionali in WordPress per accodare script su pagine specifiche del tuo sito web.

function load_script_for_single_post(){ if(is_single()){ wp_enqueue_script( 'some', get_template_directory_uri().'/js/some.js', array('jquery),

https://riptutorial.com/it/home 144

Page 162: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

'1.0.0', false ); } } add_action('wp_enqueue_scripts','load_script_for_single_post');

Nell'esempio precedente, se la pagina web corrente è single post, lo script verrà accodato. Altrimenti la funzione wp_enqueue_script non verrà eseguita.

Leggi Scansioni di script online: https://riptutorial.com/it/wordpress/topic/1103/scansioni-di-script

https://riptutorial.com/it/home 145

Page 163: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 56: Shortcode con attributo

Sintassi

add_shortcode ('your_short_code', 'your_function_name');•

Parametri

parametri Discription e utilizzo

$ tag(stringa) (obbligatorio) Tag shortcode da cercare nel contenuto del post Predefinito: Nessuno

$ func(richiamabile) (obbligatorio) Hook da eseguire quando viene trovato lo shortcode Predefinito: Nessuno

Osservazioni

IMPORTANTE: non utilizzare camelCase o UPPER-CASE per i propri attributi

Puoi generare uno shortcode con l'attributo Qui

Examples

Esempi di Shortcode

Gli shortcode di WordPress sono stati introdotti in 2.5

Ecco un esempio di shortcode

[button]

per usare lo shortcode direttamente nel tema devi usare do_shortcode()

<?php echo do_shortcode('[button]'); ?>

Per personalizzare il pulsante, potremmo semplicemente aggiungere qualcosa come:

[button type="twitter"]

O per renderlo ancora migliore, potremmo usare uno shortcode che racchiude:

[button type="twitter"]Follow me on Twitter![/button]

https://riptutorial.com/it/home 146

Page 164: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Creazione di uno shortcode autochiudente

Lo shortcode più semplice è quello a chiusura automatica. Creeremo un semplice link al nostro account Twitter e quindi lo aggiungeremo in un post sul blog. Tutto il codice va in functions.php , che si trova in /wp-content/themes/your-theme/ . Se non ne hai uno, crealo e inserisci il codice.

<?php function button_shortcode() { return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follow me on Twitter!</a>"'; } add_shortcode('button', 'button_shortcode'); ?>

Utilizzo: [button]

Creazione di uno shortcode autochiudente con parametri

Creazione di uno shortcode autochiudente con parametri

<?php function button_shortcode( $type ) { extract( shortcode_atts( array( 'type' => 'value' ), $type ) ); // check what type user entered switch ($type) { case 'twitter': return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follw me on Twitter!</a>'; break; case 'rss': return '<a href="http://example.com/rss" class="rss-button">Subscribe to the feed!</a>' break; } } add_shortcode( 'button', 'button_shortcode' ); ?>

Ora puoi scegliere quale pulsante visualizzare definendo il tipo nel tuo shortcode.

[button type="twitter"] [button type="rss"]

Creare un shortcode che racchiude

accludere shortcode

https://riptutorial.com/it/home 147

Page 165: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Lo shortcode che lo racchiude ti consente di incorporare contenuti all'interno del tuo shortcode, proprio come il BBCode, se lo hai mai usato.

<?php function button_shortcode( $attr, $content = null ) { return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>'; } add_shortcode('button', 'button_shortcode'); ?>

Per utilizzare questo shortcode, incorporare il testo che si desidera utilizzare in questo modo:

[button]Follow me on Twitter![/button]

Per rendere questo pulsante ancora migliore, potremmo aggiungere parametri proprio come abbiamo fatto nell'esempio precedente.

<?php function button_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'account' => 'account', 'style' => 'style' ), $atts ) ); return '<a href="http://twitter.com/' . esc_attr($account) . '" class="twitter-button ' . esc_attr($style) . '">' . $content . '</a>'; } add_shortcode('button', 'button_shortcode'); ?>

Uso:

[button account="rupomkhondaker" style="simple"]Follow me on Twitter![/button]

Shortcode in Widget

Per impostazione predefinita, WordPress non supporta gli shortcode nei widget della sidebar. Espande solo gli shortcode nel contenuto di un Post, Pagina o tipo di messaggio personalizzato. Per aggiungere il supporto shortcode ai widget della barra laterale, puoi installare un plug-in o utilizzare il codice seguente:

add_filter( 'widget_text', 'shortcode_unautop' ); add_filter( 'widget_text', 'do_shortcode' );

È importante aggiungere queste righe in questo ordine. La prima riga impedisce a WordPress di trasformare le interruzioni di riga in tag di paragrafo, poiché ciò impedisce il funzionamento dei codici di accesso. La seconda linea è quella che fa funzionare gli shortcode.

Leggi Shortcode con attributo online: https://riptutorial.com/it/wordpress/topic/6291/shortcode-con-attributo

https://riptutorial.com/it/home 148

Page 166: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 57: Shortcodes

Examples

Introduzione Shortcode

I codici brevi sono utili quando si desidera poter aggiungere elementi più complessi in linea nel normale editor di contenuti.

Uno shortcode nel modo più semplice sarebbe simile a questo:

function my_shortcode( ){ return "This is a shortcode"; } add_shortcode( 'my_shortcode', 'my_shortcode' );

Emetterebbe il testo "This is a shortcode" e lo useresti scrivendo [my_shortcode] nell'editor di contenuti.

Pulsante shortcode

Ecco un esempio di un breve codice pulsante:

<?php function my_button_shortcode( $atts ) { // Parse the input attributes and assgn default values for the // attributes that are not specified on the shortcode $a = shortcode_atts( array( 'id' => '', 'url' => '#', 'class' => '', 'text' => '' ), $atts ); // Open the anchor tag and add role=button for better accessibility $btn_html = '<a role="button"'; // Add the href(link) attribute $btn_html .= ' href="' . $a['url'] . '"'; // Add id attribute to output if specified if ( !empty( $a['id'] ) ) { $btn_html .= ' id="' . $a['id'] . '"'; } $btn_classes = 'button'; // Add class attribute to output $btn_html .= ' class="button ' . ( !empty(a['class']) ? $a['class'] : '' ) . '"'; // Close opening anchor tag

https://riptutorial.com/it/home 149

Page 167: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$btn_html .= '>'. // Add button text $a['text']. // Add closing anchor tag '</a>'."\n"; return $btn_html; } add_shortcode( 'button', 'my_button_shortcode' );

Questo shortcode può essere utilizzato digitando [button url="/my-other-page" id="my-other-page-button" class="dark" text="Click me!"] Nell'editor e verrà visualizzato il seguendo HTML:

<a role="button" href="/my-other-page" id="my-other-page-button" class="button dark">Click me!</a>

Leggi Shortcodes online: https://riptutorial.com/it/wordpress/topic/6070/shortcodes

https://riptutorial.com/it/home 150

Page 168: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 58: Sicurezza in WordPress - Escaping

Sintassi

esc_html (stringa $ testo)•esc_url (stringa $ url, matrice $ protocolli, stringa $ _context)•esc_js (stringa $ testo)•wp_json_encode (mixed $ data, int $ options, int $ depth = 512)•esc_attr (stringa $ testo)•esc_textarea (stringa $ testo)•

Osservazioni

La sicurezza dovrebbe essere sempre presente quando si sviluppa. Senza sicurezza un'app è aperta a vari attacchi come Iniezioni SQL, XSS, CSRF, RFI ecc che possono portare a seri problemi.

I dati non attendibili provengono da molte fonti (utenti, siti di terze parti, il proprio database !, ...) e tutto deve essere convalidato sia in input che in output. (Fonte: codice WordPress)

I dati devono essere convalidati, disinfettati o salvati in base all'utilizzo e allo scopo.

Convalidare è garantire che i dati che hai richiesto all'utente corrispondano a ciò che hanno inviato. (Fonte: codice WordPress)

La sanitizzazione è un po 'più liberale nell'accettare i dati degli utenti. Possiamo ricorrere all'utilizzo di questi metodi quando esiste una gamma di input accettabili. (Fonte: codice WordPress)

Per fuggire è necessario prendere i dati che potresti già avere e proteggerli prima di renderli per l'utente finale. (Fonte: codice WordPress)

Examples

sfuggire i dati nel codice HTML

esc_html deve essere utilizzato ogni volta che si generano dati all'interno del codice HTML.

<h4><?php echo esc_html( $title ); ?></h4>

sfuggire a un URL

https://riptutorial.com/it/home 151

Page 169: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<a href="<?php echo esc_url( home_url( '/' ) ); ?>">Home</a> <img src="<?php echo esc_url( $user_picture_url ); ?>" />

dati di escape nel codice js

esc_js() è progettato per essere utilizzato per JS inline, all'interno di un attributo tag.

Per i dati all'interno di un tag <script> usa wp_json_encode() .

<input type="text" onfocus="if( this.value == '<?php echo esc_js( $fields['input_text'] ); ?>' ) { this.value = ''; }" name="name">

wp_json_encode() codifica una variabile in JSON, con alcuni controlli di wp_json_encode() .

Si noti che wp_json_encode() include automaticamente le virgolette di delimitazione delle stringhe.

<?php $book = array( "title" => "JavaScript: The Definitive Guide", "author" => "Stack Overflow", ); ?> <script type="text/javascript"> var book = <?php echo wp_json_encode($book) ?>; /* var book = { "title": "Security in WordPress", "author" => "Stack Overflow", }; */ </script>

o

<script type="text/javascript"> var title = <?php echo wp_json_encode( $title ); ?>; var content = <?php echo wp_json_encode( $content ); ?>; var comment_count = <?php echo wp_json_encode( $comment_count ); ?>; </script>

attributi di fuga

<input type="text" value="<?php echo esc_attr($_POST['username']); ?>" />

dati di fuga in textarea

<textarea><?php echo esc_textarea( $text ); ?></textarea>

Leggi Sicurezza in WordPress - Escaping online: https://riptutorial.com/it/wordpress/topic/6115/sicurezza-in-wordpress---escaping

https://riptutorial.com/it/home 152

Page 170: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 59: Sicurezza in WordPress - Sanitizzazione

Sintassi

sanitize_text_field (stringa $ str)•sanitize_title (stringa $ titolo, stringa $ fallback_title, stringa $ contesto)•sanitize_email (stringa $ email)•sanitize_html_class (stringa $ class, stringa $ fallback)•sanitize_file_name (stringa $ nome)•sanitize_user (stringa $ username, boolean $ strict)•

Osservazioni

La sicurezza dovrebbe essere sempre presente quando si sviluppa. Senza sicurezza un'app è aperta a vari attacchi come Iniezioni SQL, XSS, CSRF, RFI ecc che possono portare a seri problemi.

I dati non attendibili provengono da molte fonti (utenti, siti di terze parti, il proprio database !, ...) e tutto deve essere convalidato sia in input che in output. (Sourse: WordPress Codex)

I dati devono essere convalidati, disinfettati o salvati in base all'utilizzo e allo scopo.

Convalidare è garantire che i dati che hai richiesto all'utente corrispondano a ciò che hanno inviato. (Sourse: WordPress Codex)

La sanitizzazione è un po 'più liberale nell'accettare i dati degli utenti. Possiamo ricorrere all'utilizzo di questi metodi quando esiste una gamma di input accettabili. (Sourse: Wordpress Codex)

Per fuggire è necessario prendere i dati che potresti già avere e proteggerli prima di renderli per l'utente finale. (Sourse: WordPress Codex)

Examples

Disinfetta il campo di testo

$title = sanitize_text_field( $_POST['title'] );

Sanificare il titolo

Il valore restituito è inteso per essere adatto per l'uso in un URL, non come un titolo leggibile dall'uomo. Usa invece sanitize_text_field.

https://riptutorial.com/it/home 153

Page 171: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$new_url = sanitize_title($title);

Sanificare l'e-mail

$sanitized_email = sanitize_email(' [email protected]! ');

Sanitizza la classe html

$post_class = sanitize_html_class( $post->post_title ); echo '<div class="' . $post_class . '">';

Sanitizza il nome del file

$incfile = sanitize_file_name($_REQUEST["file"]); include($incfile . ".php");

Senza sanificare il nome del file, un utente malintenzionato potrebbe semplicemente passare http: // attacker_site / malicous_page come input ed eseguire qualsiasi codice nel server.

Disinfetta il nome utente

$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");

Il valore di $ user dopo sanitize è "nome utente dell'attaccante"

Leggi Sicurezza in WordPress - Sanitizzazione online: https://riptutorial.com/it/wordpress/topic/6348/sicurezza-in-wordpress---sanitizzazione

https://riptutorial.com/it/home 154

Page 172: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 60: sidebars

Sintassi

register_sidebar ($ args)•get_sidebar (stringa $ nome = null)•

Parametri

Parametro Dettagli

$ args(string | array) (opzionale) Costruisce barra laterale sulla base dei name e id vvalues

nome $* (stringa) (Facoltativo) Il nome della barra laterale specializzata. Valore predefinito: null

Osservazioni

Le opzioni di argomento sono:

nome - Nome della sidebar (predefinito: localizzato 'Sidebar' e ID numerico) .•id - ID sidebar - Deve essere tutto in lettere minuscole, senza spazi (predefinito: un ID numerico auto-incrementato) . Se non imposti il valore dell'argomento id, riceverai i messaggi E_USER_NOTICE in modalità debug, a partire dalla versione 4.2.

descrizione : descrizione del testo di cosa / dove si trova la barra laterale. Mostrato sullo schermo di gestione del widget. (Dal 2,9) (predefinito: vuoto)

class - La classe CSS da assegnare alla sidebar nella sezione Aspetto -> Widget admin. Questa classe apparirà solo nella sorgente della pagina di amministrazione di WordPress Widget. Non sarà incluso nel front-end del tuo sito web. Nota : la sidebar valori verrà anteposta al valore della classe. Ad esempio, una classe di tal avrà come risultato un valore di classe di sidebar-tal . (predefinito: vuoto) .

before_widget - HTML da inserire prima di ogni widget (predefinito: <li id="%1$s" class="widget %2$s"> ) Nota : utilizza sprintf per la sostituzione variabile

after_widget - HTML da inserire dopo ogni widget (predefinito: </li>\n ) .•before_title : HTML da inserire prima di ogni titolo (predefinito: <h2 class="widgettitle"> ) .•after_title - HTML da inserire dopo ogni titolo (predefinito: </h2>\n ) .•

Examples

Registrazione delle barre laterali

Nel tuo functions.php puoi registrare nuove barre laterali con questo codice

https://riptutorial.com/it/home 155

Page 173: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

/** * Registers sidebars * * @param array Array with default or specified array values * @since 1.0.0 */ if ( function_exists( 'register_sidebar' ) ) { register_sidebar( array ( 'name' => esc_html__( 'Primary Sidebar', 'mytheme'), 'id' => 'primary-widget-area', 'description' => esc_html__( 'The Primary Widget Area', 'mytheme'), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="sidebar-widget-heading"><h3>', 'after_title' => '</h3></div>', ) ); register_sidebar( array ( 'name' => esc_html__( 'Secondary Sidebar', 'mytheme'), 'id' => 'secondary-widget-area', 'description' => esc_html__( 'The Secondary Widget Area', 'mytheme'), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="sidebar-widget-heading"><h3>', 'after_title' => '</h3></div>', ) ); }

Puoi aggiungere tutte le barre laterali che vuoi.

Ottieni Sidebar

Puoi anche creare il tuo file della barra laterale nel tema per chiamarlo su modelli diversi. Copia e incolla sidebar.php del tema corrente e cambia il nome (es. Sidebar-book.php)

Nel modello puoi chiamare questa barra laterale usando get_sidebar('book') . Usando questo puoi chiamare diverse barre laterali su pagine diverse.

Leggi sidebars online: https://riptutorial.com/it/wordpress/topic/6293/sidebars

https://riptutorial.com/it/home 156

Page 174: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 61: Stili accattivanti

Sintassi

wp_enqueue_style ($ handle, $ src, $ dipendenza, $ versione, $ media);1.

Parametri

Parametro Dettagli

$handle (Stringa) (Obbligatorio) Nome univoco per il foglio di stile.

$src(String) (Facoltativo) URL del foglio di stile che verrà utilizzato all'interno dell'attributo src del tag di collegamento .

$deps(String) (Facoltativo) Una serie di fogli di stile gestiti da questo foglio di stile dipende da.

$ver(String) (Facoltativo) Stringa che specifica la versione del foglio di stile del foglio di stile.

$media(Stringa) (Facoltativo) Il supporto per cui questo foglio di stile è stato creato. es. "tutto", "stampa", "schermo" ecc

Examples

Compreso il file css interno con un altro file css come dipendenza

function themeSlug_enqueue_scripts() { wp_enqueue_style( 'themeSlug-reset', get_template_directory_uri() .'/css/reset.css', '1.0.0' ); wp_enqueue_style( 'themeSlug-style', get_template_directory_uri() .'/style.css', 'themeSlug-reset', '1.0.0'); } add_action('wp_enqueue_scripts', 'themeSlug_enqueue_scripts');

Compreso il file css interno

In questo caso, style.css si trova nella radice della cartella del tema

function themeSlug_enqueue_scripts() { wp_enqueue_style( 'themeSlug-style', get_template_directory_uri() .'/style.css', '1.0.0'); } add_action('wp_enqueue_scripts', 'themeSlug_enqueue_scripts');

https://riptutorial.com/it/home 157

Page 175: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Compreso il file css esterno

In questo esempio vogliamo includere font font impressionante

function themeSlug_enqueue_scripts() { wp_enqueue_style( 'font-awesome', '//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css'); } add_action('wp_enqueue_scripts', 'themeSlug_enqueue_scripts');

Accoda i fogli di stile solo per IE

add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' ); /** * Enqueue styles (or scripts) conditionally. * * Load stylesheets (or scripts) specifically for IE. IE10 and above does * not support conditional comments in standards mode. * * @link https://gist.github.com/wpscholar/4947518 * @link https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx */ function enqueue_my_styles_and_scripts() { // Internet Explorer specific stylesheet. wp_enqueue_style( 'themename-ie', get_stylesheet_directory_uri() . '/css/ie.css', array( 'twentyfifteen-style' ), '20141010' ); wp_style_add_data( 'themename-ie', 'conditional', 'lte IE 9' ); // Internet Explorer 7 specific stylesheet. wp_enqueue_style( 'themename-ie7', get_stylesheet_directory_uri() . '/css/ie7.css', array( 'twentyfifteen-style' ), '20141010' ); wp_style_add_data( 'themename-ie7', 'conditional', 'lt IE 8' ); }

Compreso il file css interno per la tua classe Plugin

class My_Plugin() { function __construct() { add_action( 'wp_enqueue_scripts', array( $this, 'init_fe_assets' ) ); } public function init_fe_assests() { wp_enqueue_style( 'my-plugin', plugin_dir_url( __FILE__ ) . 'assets/css/frontend/plugin.css', array(), '0.0.1', true ); } } new My_Plugin();

Aggiungi fogli di stile alternativi

https://riptutorial.com/it/home 158

Page 176: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<?php wp_enqueue_style('theme-five', get_template_directory_uri() . '/path/to/additional/css'); wp_style_add_data('theme-five', 'alt', true); wp_style_add_data('theme-five', 'title', __('theme-five.css', 'your-theme-name')); ?>

wp_style_add_data

Leggi Stili accattivanti online: https://riptutorial.com/it/wordpress/topic/1247/stili-accattivanti

https://riptutorial.com/it/home 159

Page 177: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 62: Sviluppo di plugin

Sintassi

add_action (stringa $ tag, callable $ function_to_add, int $ priority = 10, int $ accepted_args = 1)

add_filter (stringa $ tag, callable $ function_to_add, int $ priority = 10, int $ accepted_args = 1)

Parametri

Parametro Dettaglio

$ tag(stringa) (Obbligatorio) Il nome del filtro per agganciare il callback $ function_to_add a.

$ function_to_add

(richiamabile) (Obbligatorio) Il callback da eseguire quando viene applicato il filtro.

$ priorità

(int) (Facoltativo) Utilizzato per specificare l'ordine in cui vengono eseguite le funzioni associate a una particolare azione. I numeri più bassi corrispondono all'esecuzione precedente e le funzioni con la stessa priorità vengono eseguite nell'ordine in cui sono stati aggiunti all'azione. Valore predefinito: 10

$ accepted_args

(int) (Facoltativo) Il numero di argomenti accettati dalla funzione. Valore predefinito: 1

Osservazioni

Il modo in cui i plugin Plugin funzionano è che in varie occasioni mentre WordPress è in esecuzione, WordPress verifica se alcuni Plugin hanno funzioni registrate da eseguire in quel momento e, in tal caso, le funzioni vengono eseguite. Queste funzioni modificano il comportamento predefinito di WordPress.

Esistono due tipi di hook:

I filtri ti danno la possibilità di cambiare il valore di un dato durante l'esecuzione di WordPress. Le funzioni di callback per i filtri verranno passate attraverso una variabile, modificate e quindi restituite. Sono pensati per funzionare in modo isolato e non dovrebbero mai influenzare le variabili globali o qualsiasi altra cosa al di fuori della funzione.

Le azioni , al contrario, consentono di aggiungere o modificare il funzionamento di WordPress. La funzione di callback verrà eseguita in un punto specifico nell'esecuzione di WordPress e può

https://riptutorial.com/it/home 160

Page 178: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

eseguire alcuni tipi di attività, ad esempio l'emissione di output all'utente o l'inserimento di qualcosa nel database.

Riferimento del filtro

Riferimento di azione

Manuale

API plugin

Filtri vs Azioni

Examples

Filtro

add_filter('comment_text','before_comment'); add_filter('comment_text','after_comment'); function before_comment($comment_text){ return 'input before comment'.$comment_text; } function after_comment($comment_text){ return $comment_text.'input after comment'; }

Azione

add_action('wp_head','hook_javascript'); function hook_javascript() { $output="<script> alert('Page is loading...'); </script>"; echo $output; }

Esempi di sviluppo di plugin: Widget canzone preferita

<?php function wpshout_register_widgets() { register_widget( 'Favorite_Song_Widget'); } add_action( 'widgets_init', 'wpshout_register_widgets' ); class Favorite_Song_Widget extends WP_Widget { function Favorite_Song_Widget() { // Instantiate the parent object parent::__construct( 'favorite_song_widget', // Base ID __('Favorite Song', 'text_domain'), // Name array( 'description' => __( 'Widget for playable favorite song', 'text_domain' ), ) // Args

https://riptutorial.com/it/home 161

Page 179: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

); } function widget( $args, $instance ) { echo $args['before_widget']; echo '<h3>Favorite Song Lists:</h3>'; echo $instance['songinfo']; echo '<a href="' . $instance['link'] . '">Download it</a><br>'; echo $instance['description']; echo $args['after_widget']; } function update($new_abc,$old_abc) { $instance = $old_abc; // Fields $instance['link'] = strip_tags($new_abc['link']); $instance['songinfo'] = strip_tags($new_abc['songinfo']); $instance['description'] = strip_tags($new_abc['description']); return $instance; } // Widget form creation function form($instance) { $link = ''; $songinfo = ''; $description = ''; // Check values if( $instance) { $link = esc_attr($instance['link']); $songinfo = esc_textarea($instance['songinfo']); $description = esc_textarea($instance['description']); } ?> <p> <label for="<?php echo $this->get_field_id('link'); ?>"><?php _e('Link', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="text" value="<?php echo $link; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('songinfo'); ?>"><?php _e('Song Info:', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('songinfo'); ?>" name="<?php echo $this->get_field_name('songinfo'); ?>" type="text" value="<?php echo $songinfo; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('description'); ?>"><?php _e('Description:', 'wp_widget_plugin'); ?></label> <textarea class="widefat" id="<?php echo $this->get_field_id('description'); ?>" name="<?php echo $this->get_field_name('description'); ?>" type="text" value="<?php echo $description; ?>"></textarea> </p> <p><a href="#" id="add-more-tabs"><?php _e('Add More Tabs', 'wp_widget_plugin'); ?></a></p> <?php }

https://riptutorial.com/it/home 162

Page 180: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

}

Leggi Sviluppo di plugin online: https://riptutorial.com/it/wordpress/topic/6108/sviluppo-di-plugin

https://riptutorial.com/it/home 163

Page 181: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 63: Tassonomie

Sintassi

register_taxonomy ($ taxonomy, $ object_type, $ args);•

Parametri

Parametro Dettagli

$ tassonomia

(stringa) (obbligatorio) Il nome della tassonomia. Il nome deve contenere solo lettere minuscole e il carattere di sottolineatura e non deve contenere più di 32 caratteri (restrizione della struttura del database).

$ object_type

(array / stringa) (obbligatorio) Nome del tipo di oggetto per l'oggetto di tassonomia. I tipi di oggetto possono essere Post Type o Post Type personalizzati che possono essere registrati.

$ args (array / stringa) (opzionale) Un array di argomenti.

Examples

Esempio di registrazione di una tassonomia per i generi

<?php // hook into the init action and call create_book_taxonomies when it fires add_action( 'init', 'create_book_taxonomies', 0 ); // create taxonomy genres for the post type "book" function create_book_taxonomies() { // Add new taxonomy, make it hierarchical (like categories) $labels = array( 'name' => _x( 'Genres', 'taxonomy general name' ), 'singular_name' => _x( 'Genre', 'taxonomy singular name' ), 'search_items' => __( 'Search Genres' ), 'all_items' => __( 'All Genres' ), 'parent_item' => __( 'Parent Genre' ), 'parent_item_colon' => __( 'Parent Genre:' ), 'edit_item' => __( 'Edit Genre' ), 'update_item' => __( 'Update Genre' ), 'add_new_item' => __( 'Add New Genre' ), 'new_item_name' => __( 'New Genre Name' ), 'menu_name' => __( 'Genre' ), ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true,

https://riptutorial.com/it/home 164

Page 182: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'genre' ), ); register_taxonomy( 'genre', array( 'book' ), $args ); } ?>

Puoi definire tassonomie personalizzate nel file template functions.php un tema:

Aggiungi categoria nella pagina

È inoltre possibile aggiungere la stessa tassonomia creata in modo personalizzato nella pagina del tipo di post utilizzando il codice riportato di seguito.

function add_taxonomies_to_pages() { register_taxonomy_for_object_type( 'genre', 'page' ); } add_action( 'init', 'add_taxonomies_to_pages' );

Aggiungi il codice sopra nel file functions.php del tuo tema. post_tag stesso modo puoi aggiungere post_tag personalizzato o predefinito nella pagina del tipo di post.

Per ottenere pagine utilizzando la query di tassonomia personalizzata è necessario aggiungere sotto il codice nello stesso file.

if ( ! is_admin() ) { add_action( 'pre_get_posts', 'category_and_tag_archives' ); } function category_and_tag_archives( $wp_query ) { $my_post_array = array('page'); if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) ) $wp_query->set( 'post_type', $my_post_array ); }

Aggiungi categorie e tag alle pagine e inseriscile come classe in

// add tags and categories to pages function add_taxonomies_to_pages() { register_taxonomy_for_object_type( 'post_tag', 'page' ); register_taxonomy_for_object_type( 'category', 'page' ); } add_action( 'init', 'add_taxonomies_to_pages' ); if ( ! is_admin() ) { add_action( 'pre_get_posts', 'category_and_tag_archives' ); } function category_and_tag_archives( $wp_query ) { $my_post_array = array('post','page');

https://riptutorial.com/it/home 165

Page 183: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) ) $wp_query->set( 'post_type', $my_post_array ); if ( $wp_query->get( 'tag' ) ) $wp_query->set( 'post_type', $my_post_array ); } // add tags and categorys as class to <body> function add_categories_and_tags( $classes = '' ) { if( is_page() ) { $categories = get_the_category(); foreach( $categories as $category ) { $classes[] = 'category-'.$category->slug; } $tags = get_the_tags(); foreach( $tags as $tag ) { $classes[] = 'tag-'.$tag->slug; } } return $classes; } add_filter( 'body_class', 'add_categories_and_tags' );

Aggiungi categorie e tag alle pagine e inserisci come classe in

Puoi aggiungere questo codice al tuo file functions.php personalizzato:

// add tags and categories to pages function add_taxonomies_to_pages() { register_taxonomy_for_object_type( 'post_tag', 'page' ); register_taxonomy_for_object_type( 'category', 'page' ); } add_action( 'init', 'add_taxonomies_to_pages' ); if ( ! is_admin() ) { add_action( 'pre_get_posts', 'category_and_tag_archives' ); } function category_and_tag_archives( $wp_query ) { $my_post_array = array('post','page'); if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) ) $wp_query->set( 'post_type', $my_post_array ); if ( $wp_query->get( 'tag' ) ) $wp_query->set( 'post_type', $my_post_array ); } // add tags and categorys as class to <body> function add_categories_and_tags( $classes = '' ) { if( is_page() ) { $categories = get_the_category(); foreach( $categories as $category ) { $classes[] = 'category-'.$category->slug; }

https://riptutorial.com/it/home 166

Page 184: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$tags = get_the_tags(); foreach( $tags as $tag ) { $classes[] = 'tag-'.$tag->slug; } } return $classes; } add_filter( 'body_class', 'add_categories_and_tags' );

Funziona perfettamente, testato in WordPress 4.8

Leggi Tassonomie online: https://riptutorial.com/it/wordpress/topic/5943/tassonomie

https://riptutorial.com/it/home 167

Page 185: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 64: Tema Wordpress e sviluppo del tema bambino

introduzione

Wordpress è un CMS ampiamente utilizzato per la creazione di semplici siti Web di informazioni, ma anche per la creazione di siti Web più sofisticati e persino di piccoli negozi online.

Wordpress utilizza temi. Questi temi sono utilizzati per creare la disposizione e le funzionalità di un sito Web Wordpress. I temi possono essere trovati su Internet.

Ogni thme ha le sue funzionalità e lay-out uniche, ma a volte è difficile trovare il tema giusto per un sito web. Fortunatamente siamo anche in grado di creare il nostro tema.

Examples

Sviluppare il tuo tema

Un tema di wordpress consiste di due tipi di file. I file di base di ciascun tema e i file che definiscono il layout e la funzionalità del tema. Questo secondo gruppo chiamerò i file specifici del tema.

I file di base del tema I file di base del tema sono i file utilizzati per impostare e registrare un tema. Nella lista seguente descriverò brevemente ogni file e il suo utilizzo. Più avanti aggiungerò i file di esempio più basilari necessari per impostare il tuo tema wordpress.

functions.php : Il file functions.php è usato per registrare tutte le funzioni, barre laterali, script e include del tema. In questo file puoi, ad esempio, includere file CSS, file JS, ecc.

Header and footer : i file di intestazione e piè di pagina (header.php e footer.php) sono i file utilizzati per chiamare l'intestazione e il piè di pagina. Il file di intestazione e piè di pagina, ad esempio, contiene il collegamento al sistema di back-end wordpress.

index.php : il file index.php è il file che crea il modello di pagina predefinito. In questo file puoi vedere, modificare e rimuovere pezzi di questo lay-out predefinito.

single.php : il file single.php è il file che crea la pagina del modello di singoli post. Proprio come il modello predefinito per le pagine, ma ora per le singole pagine di post.

format.php Il file format.php è il file che costruisce il modello di testo del contenuto da una pagina. Quindi, se avessi una home page e la modificassi dal back-end aggiungendo un testo. Questo file crea il markup standard di questo testo.

404.php Il file 404.php crea il modello 404. Questo file è costituito dal lay-out di base di questa pagina.

archive.php Il file archive.php crea il layout della pagina di archivio.•style.css Il file di foglio di stile di base.•

https://riptutorial.com/it/home 168

Page 186: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Quindi in questo elenco puoi vedere tutti i file richiesti per l'impostazione del tuo tema Wordpress. Ora diamo un'occhiata ad alcuni file che sei in grado di creare se vuoi, ma non sono richiesti file per un tema wordpress. Questi file sono per lo più file di modello e altre estensioni funzionali.

Modelli di pagina personalizzati page-<your own name>.php : in un tema di Wordpress puoi creare più modelli di pagina. creando nuovi file modello di pagina. Un file di modello di pagina standard è costituito dai seguenti attributi di nome. name of the template page name of the template e .php Se, ad esempio, si desidera creare un nuovo modello di pagina per la pagina del blog, è possibile chiamarlo page-blog.php Wordpress legge automaticamente il file e aggiunge il file al menu di scelta del modello. Assicurati di aver incluso almeno le funzioni get_header() e get_footer() . Assicurati inoltre di nominare il modello in un commento nella parte superiore del file aggiungendo il seguente esempio.

<?php /* * Template Name: Homepage Template */ get_header(); ?>

Modelli personalizzati di pagine singole single-<your own name>.php : in un tema di Wordpress, proprio come il modello di pagina descritto sopra, puoi anche creare i tuoi modelli di pagina singoli post. Proprio come il modello di pagina, il file consiste di tre parti single per dichiarare che si tratta di una singola pagina di post <your name of the template> e l'estensione di file .php . Proprio come i requisiti minimi del modello di pagina per assicurarsi che Wordpress legga il nuovo modello, sono state aggiunte le funzioni get_header() e get_footer() . E naturalmente aggiungere anche il nome del modello come nell'esempio qui sotto

<?php /* * Template Name: Post Portfolio * Template Post Type: post, page */ ?>

Indichiamo anche il Template post type: che rappresenta il tipo di modello che è, in questo caso post e pagina.

Modelli di testo post personalizzati format -<your own name>.php : in un tema Wordpress puoi anche creare modelli di output post. Questi modelli di formato sono la disposizione e il contenuto di un post. Ad esempio, se in alcuni casi vuoi che il post mostri solo il contenuto o il titolo del post, puoi utilizzare questi modelli per creare questo tipo di aggiustamenti. Poiché questo tipo di modelli è solo la formattazione del contenuto di back-end post creato da un utente, non è necessario includere get_header() e get_footer() poiché questi sono già definiti nei modelli di pagine. Assicurati che il tuo modello sia in grado di riconoscere un post utilizzando il seguente esempio di base.

https://riptutorial.com/it/home 169

Page 187: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

<div> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> </article> </div>

Ora che sappiamo qualcosa sui file di base e su alcuni dei numerosi file specifici del modello, è ora di iniziare a parlare di barre laterali e widget. In futuro questo verrà aggiunto insieme a un inizio sul tutorial passo passo per creare un tema Wordpress molto personale.

Leggi Tema Wordpress e sviluppo del tema bambino online: https://riptutorial.com/it/wordpress/topic/9940/tema-wordpress-e-sviluppo-del-tema-bambino

https://riptutorial.com/it/home 170

Page 188: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 65: Temi

introduzione

I temi WordPress sono il front-end del tuo sito web. Sono ciò che le persone vedono quando visitano il sito. Ci sono migliaia di temi tra cui scegliere, versioni a pagamento e gratuite. Puoi anche creare il tuo tema personalizzato con solo un paio di file necessari.

Examples

Temi di WordPress

Come scegliere un tema

Ogni installazione di WordPress viene fornita con un tema preinstallato. Gestisci i tuoi temi dalla Dashboard. Vai a Aspetto> Temi per installare, visualizzare in anteprima, eliminare, attivare e aggiornare Temi. Il tema corrente si trova nell'angolo in alto a sinistra di questo menu.

Passando il mouse sull'immagine del tema, viene visualizzato il pulsante "Dettagli tema". Questo pulsante fornisce informazioni sul tema, come la versione e la descrizione. Facendo clic sull'immagine del tema corrente, puoi accedere a personalizzare le impostazioni specifiche del tema, come il titolo.

Aggiornamento disponibile

Se sono disponibili aggiornamenti per temi installati, troverai un messaggio che ti informa che è disponibile una nuova versione. Dovresti essere in grado di visualizzare i dettagli della nuova versione o aggiornarlo ora.

Visualizza i dettagli della versione

Facendo clic sul collegamento dei dettagli della versione si passerà a una pagina dalla directory dei temi di WordPress. Qui troverai i dettagli per la versione di aggiornamento.

Aggiorna ora

Facendo clic sul link dell'aggiornamento verrà installato l'aggiornamento del tema. I temi possono anche essere aggiornati dalla schermata Amministrazione> Dashboard> Aggiornamenti.

Oltre al tema corrente, la schermata Gestisci temi mostra anche gli altri temi installati ma attualmente inattivi. Ogni tema è rappresentato da un piccolo screenshot. Passando con il mouse su queste immagini vengono visualizzati i pulsanti "Dettagli tema", "Attiva" e "Anteprima dal vivo". Potrai anche aggiornare o eliminare temi inattivi da questa pagina. Ogni pagina in questa schermata mostrerà fino a 15 schermate di temi alla volta.

https://riptutorial.com/it/home 171

Page 189: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Attivare

Cliccando su questo link diventa questo il tema attuale.

Anteprima dal vivo

Cliccando su questo link viene visualizzata un'anteprima del blog con questa versione specifica del tema.

Elimina

Cliccando questo link cancella completamente questo tema, includi tutti i file e le cartelle dei temi. Tutto ciò che non è stato salvato verrà perso per sempre.

Aggiornamento disponibile

Fare riferimento alla sezione Aggiornamento disponibile sopra.

Installa i temi

Di seguito sono elencati diversi modi per installare Temi:

Programma di installazione di temi automatizzato

Questo può essere usato per installare Temi dalla directory dei temi di WordPress. Vai su Amministrazione> Aspetto> Temi per trovare la schermata Temi aspetto. Fai clic sul pulsante Aggiungi nuovo. Da qui troverai Temi da usare che sono gratuiti. Nella parte superiore di questa schermata è presente una funzione di ricerca con tre metodi disponibili per trovare un nuovo tema; Ricerca filtro, parola chiave e attributo.

Utilizzo del metodo di caricamento

Il metodo di caricamento installa un tema tramite un file ZIP. Tutti i temi nella directory dei temi di WordPress possono essere installati in questo modo. Dopo aver scaricato il file ZIP, vai su Amministrazione> Aspetto> Temi e fai clic sul pulsante Aggiungi nuovo. Quindi, fai clic sul link Carica tema. Cerca il file ZIP e fai clic su Installa ora. Per completare la creazione del tema corrente, fai clic sul link Attiva.

Utilizzo del metodo FTP

Per installare un tema con il metodo FTP è necessario prima scaricare i file del tema sul computer locale. Estrai il contenuto del file ZIP, preservando la struttura del file e aggiungili a una nuova cartella. Se ci sono istruzioni dall'autore del tema, assicurati di seguirle.

Utilizzare un client FTP per accedere al server Web del proprio sito. Aggiungi i file Theme caricati alla tua directory wp-content / themes fornita da WordPress. Se necessario, crea una cartella per contenere il tuo nuovo tema all'interno della directory wp-content / themes. Un esempio di questo sarebbe, se il tuo tema è chiamato Test, dovrebbe vivere in wp-content / themes / test.

https://riptutorial.com/it/home 172

Page 190: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Passare a Amministrazione> Aspetto> Temi e fare clic sul collegamento Attiva per selezionare il tema come tema corrente.

Installazione con cPanel

I pannelli di controllo cPanel offrono un altro metodo per installare Temi con un file ZIP o GZ. In cPanel Manager, se WordPress è installato, vai alla cartella Temi. Il percorso sarebbe simile a "public_html / wp-content / themes". Fare clic su Carica file (s) e caricare il file ZIP. Seleziona il file ZIP in cPanel e fai clic su Estrai contenuto del file nel pannello a destra per decomprimere quel file.

Passare a Amministrazione> Aspetto> Temi e fare clic sul collegamento Attiva per selezionare il tema come tema corrente.

Tutte le informazioni sopra elencate sono conformi al Codice WordPress. È stato abbreviato per brevità. Il materiale di origine originale può essere trovato qui . Oppure per maggiori informazioni visita codex.wordpress.org .

Creare un tema personalizzato

Queste istruzioni creano un tema WordPress molto semplice e conforme agli standard minimi.

Il primo passo è creare una nuova cartella di temi all'interno della directory dei temi di WordPress. Il percorso corretto sarà:> wp-content> temi> Per creare un tema valido, i temi di WordPress richiedono almeno la presenza di questi due file:

index.php•

style.css•

Il tuo foglio di stile dovrebbe contenere un commento che avvisi WordPress che un tema esiste qui.

/* Theme Name: <theme name> Author: <author name> Description: <description goes here> Version: <theme version #> Tags: <tag to id theme> */

Il tema è ora stato creato. Vai alla dashboard di WordPress e fai clic su Aspetto> Temi, per attivarlo.

Leggi Temi online: https://riptutorial.com/it/wordpress/topic/8967/temi

https://riptutorial.com/it/home 173

Page 191: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 66: template_include

Parametri

Parametro Spiegazione

$template

Passa un parametro al filtro, $template è il percorso corrente del file appropriato per il tipo di post, come trovato nel tema figlio attivo o nel tema principale (se nessun tema figlio sul posto o tema figlio ha modelli classificati inferiori. Vedi la gerarchia dei template di wordpress per ulteriori dettagli).

Osservazioni

Devi restituire $template anche se non si modifica. Se questo ti confonde, guarda gli esempi in cui apply_filter() è stato usato nel codice

Non dovresti impostare le variabili qui per usarle più tardi, ci sono degli ami migliori per questo.

Un flusso di programma utile per questo filtro è:

Controlla $template include il nostro nome del tipo di post personalizzato -> gerarchia dei modelli !!

1.

in caso contrario, cerca nel nostro plug-in file adatti -> È meglio puntare a file specifici piuttosto che cercare nelle cartelle i file. Più efficiente. Ma completamente fino allo sviluppatore.

2.

restituire il modello.3.

Examples

Semplice esempio

Questo filtro è molto utile. Uno dei problemi più comuni per gli sviluppatori è come includere modelli nei plugin che sviluppano.

Il filtro viene applicato immediatamente dopo che wordpress individua il modello appropriato nel tema figlio / genitore attivo utilizzando la gerarchia di wp.

Fare attenzione a definire quando si desidera modificare il percorso del modello. Nell'esempio seguente, il codice controlla se la pagina corrente è l'unico punto di vista del nostro tipo messaggio personalizzato cpt .

Un esempio abbastanza semplice per iniziare!

add_filter('template_include', 'custom_function');

https://riptutorial.com/it/home 174

Page 192: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

function custom_function($template){ //change a single post template... if( is_singular('cpt') ){ $template= 'path/to/another/template_file'; } return $template; }

Altro esempio di Adv

add_filter('template_include', 'custom_function'); function custom_function($template){ /* * This example is a little more advanced. * It will check to see if $template contains our post-type in the path. * If it does, the theme contains a high level template e.g. single-cpt.php * If not we look in the plugin parent folder for the file. e.g. single-cpt.php */ //check to see if the post type is in the filename (high priority file) //return template if it is! global $post; if( strpos($template, 'single-'.$post->post_type.'php' ) !== false && strpos($template, 'archive-'.$post->post_type.'php' ) !== false ){ return $template; } $plugin_path = 'var/etc/wp-content/plugins/plugin'; //include own logic here... if( is_singular($post->post_type) && file_exists($plugin_path.'/single-'.$post->post_type.'.php') ){ $template= $plugin_path.'/single-'.$post->post_type.'.php'; } elseif ( is_archive($post->post_type) && file_exists($plugin_path.'/archive-'.$post->post_type.'.php') ) { $template= $plugin_path.'/archive-'.$post->post_type.'.php'; } return $template; }

Leggi template_include online: https://riptutorial.com/it/wordpress/topic/1439/template-include

https://riptutorial.com/it/home 175

Page 193: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 67: The Loop (ciclo principale di WordPress)

Examples

Struttura del ciclo WordPress di base

Ogni volta che WordPress carica la pagina, eseguirà il ciclo principale .

Il ciclo è il modo per scorrere tutti gli elementi relativi alla pagina corrente.

Il ciclo principale funzionerà su un oggetto WP_Query globale. La query ha un metodo globalizzato have_posts() , che ci consente di scorrere tutti i risultati. Infine, all'interno del ciclo è possibile chiamare il metodo the_post() (anche come funzione globale), che imposta l'oggetto post globale sul post corrente all'interno del ciclo e imposta i postdat al post corrente. Grazie a questo puoi chiamare funzioni come the_title , the_content , the_author ( template tag ) direttamente all'interno del ciclo.

Ad esempio, se ci si trova in elenchi di post, il ciclo principale conterrà un oggetto query con tutti i post.

Se si è su un singolo post (o pagina), conterrà una query con un singolo post (pagina) in cui ci si trova attualmente.

if ( have_posts() ) : while ( have_posts() ) : the_post(); var_dump( $post ); endwhile; endif;

Sintassi del loop alternativo

Puoi anche usare il loop con parentesi graffe come questo:

if ( have_posts() ) { while ( have_posts() ) { the_post(); var_dump( $post ); } }

Maneggiare nessun oggetto nel loop

Se vuoi gestire questo scenario, aggiungi un'istruzione if/else .

https://riptutorial.com/it/home 176

Page 194: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

if ( have_posts() ) : while ( have_posts() ) : the_post(); var_dump( $post ); endwhile; else : __('This Query does not have any results'); endif;

Leggi The Loop (ciclo principale di WordPress) online: https://riptutorial.com/it/wordpress/topic/1803/the-loop--ciclo-principale-di-wordpress-

https://riptutorial.com/it/home 177

Page 195: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 68: Tipi di messaggi personalizzati

Sintassi

register_post_type ($ post_type, $ args);•

Parametri

Parametro Dettagli

$ post_type (stringa) (obbligatorio)

$ args (array / stringa) (Opzionale)

Examples

Registrazione di un tipo di messaggio personalizzato

Supponiamo che tu disponga di un sito Web di una biblioteca e che desideri avere un tipo di post personalizzato denominato Libri . Può essere registrato come

function create_bookposttype() { $args = array( 'public' => true, 'labels' => array( 'name' => __( 'Books' ), 'singular_name' => __( 'Book' ) ), ); register_post_type( 'custompost_books', $args ); } add_action( 'init', 'create_bookposttype' );

e, per quanto semplice, ora hai registrato un tipo di messaggio personalizzato.

https://riptutorial.com/it/home 178

Page 196: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Questo snippet può essere inserito nel file functions.php theme o all'interno di una struttura di plugin.

Aggiungi tipi di post personalizzati alla query principale

La registrazione di un tipo di messaggio personalizzato non significa che viene aggiunta automaticamente alla query principale. È necessario utilizzare il filtro pre_get_posts per aggiungere tipi di post personalizzati alla query principale.

// Show posts of 'post' and 'book' custom post types on home page add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); function add_my_post_types_to_query( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'book' ) );

https://riptutorial.com/it/home 179

Page 197: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

return $query; }

Aggiunta di tipi di post personalizzati al feed RSS principale

La registrazione di un tipo di messaggio personalizzato non significa che viene aggiunta automaticamente al feed RSS principale. È necessario utilizzare il filtro di request per aggiungere tipi di post personalizzati al feed RSS principale.

// Add 'books' custom post types on main RSS feed function add_book_post_types_to_rss($qv) { if (isset($qv['feed']) && !isset($qv['post_type'])) $qv['post_type'] = array('post', 'books', ); return $qv; } add_filter('request', 'add_book_post_types_to_rss');

Registra il tipo di messaggio personalizzato

if ( ! function_exists('products_post_type') ) { function products_post_type() { $labels = array( 'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ), 'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ), 'menu_name' => __( 'Products', 'text_domain' ), 'name_admin_bar' => __( 'Product', 'text_domain' ), 'archives' => __( 'Item Archives', 'text_domain' ), 'attributes' => __( 'Item Attributes', 'text_domain' ), 'parent_item_colon' => __( 'Parent Product:', 'text_domain' ), 'all_items' => __( 'All Products', 'text_domain' ), 'add_new_item' => __( 'Add New Product', 'text_domain' ), 'add_new' => __( 'New Product', 'text_domain' ), 'new_item' => __( 'New Item', 'text_domain' ), 'edit_item' => __( 'Edit Product', 'text_domain' ), 'update_item' => __( 'Update Product', 'text_domain' ), 'view_item' => __( 'View Product', 'text_domain' ), 'view_items' => __( 'View Items', 'text_domain' ), 'search_items' => __( 'Search products', 'text_domain' ), 'not_found' => __( 'No products found', 'text_domain' ), 'not_found_in_trash' => __( 'No products found in Trash', 'text_domain' ), 'featured_image' => __( 'Featured Image', 'text_domain' ), 'set_featured_image' => __( 'Set featured image', 'text_domain' ), 'remove_featured_image' => __( 'Remove featured image', 'text_domain' ), 'use_featured_image' => __( 'Use as featured image', 'text_domain' ), 'insert_into_item' => __( 'Insert into item', 'text_domain' ), 'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ), 'items_list' => __( 'Items list', 'text_domain' ), 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), 'filter_items_list' => __( 'Filter items list', 'text_domain' ), ); $args = array( 'label' => __( 'Product', 'text_domain' ), 'description' => __( 'Product information pages.', 'text_domain' ), 'labels' => $labels,

https://riptutorial.com/it/home 180

Page 198: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'custom-fields', ), 'taxonomies' => array( 'category', 'post_tag' ), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-products', 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', 'show_in_rest' => true, ); register_post_type( 'product', $args ); } add_action( 'init', 'products_post_type', 0 ); }

Tipo di messaggio personalizzato utilizzando Twenty Fifteen WordPress Theme

È possibile utilizzare qualsiasi nome per la funzione.

function custom_postype(){ register_post_type('cus_post',array( 'labels'=>array( 'name'=>'khaiyam'// Use any name you want to show in menu for your users ), 'public'=>true,// **Must required 'supports'=>array('title','editor','thumbnail')// Features you want to provide on your posts )); } add_action('after_setup_theme','custom_postytpe');

o

add_action('init','custom_postytpe');

Puoi usare uno dei ganci che desideri ma ovviamente hanno un significato e usi diversi.

https://riptutorial.com/it/home 181

Page 199: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Tipo di post personalizzato nella ricerca predefinita

Puoi aggiungere post personalizzati di tipo post sulla ricerca di wordpress predefinita, Aggiungi sotto il codice in theme functions.php

function my_search_filter($query) { if ( !is_admin() && $query->is_main_query() ) { if ($query->is_search) { $query->set('post_type', array( 'news','post','article' ) ); } } } add_action('pre_get_posts','my_search_filter');

Leggi Tipi di messaggi personalizzati online: https://riptutorial.com/it/wordpress/topic/1374/tipi-di-messaggi-personalizzati

https://riptutorial.com/it/home 182

Page 200: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 69: wp_get_current_user ()

Sintassi

wp_get_current_user ()•

Examples

Ottenere l'utente corrente

Ottenere tutte le informazioni dell'utente corrente in wordpress usando la funzione predefinita wp_get_current_user();

<?php $current_user = wp_get_current_user(); echo "Username :".$current_user->user_login; echo "Username :".$current_user->ID; echo "Username :".$current_user->user_pass; echo "Username :".$current_user->user_nicename; echo "Username :".$current_user->user_email; echo "Username :".$current_user->user_url; echo "Username :".$current_user->user_registered; echo "Username :".$current_user->user_activation_key; echo "Username :".$current_user->user_status; echo "Username :".$current_user->display_name; ?>

Utilizza il ciclo foreach per ottenere le informazioni utente da wp_get_current_user ()

$user = wp_get_current_user(); foreach($user->data as $key=>$user_data){ if($key == 'user_pass' || $key == 'user_activation_key' || $key=='user_status'){} else{ $nice_key = ucfirst(str_replace('_', ' ', $key)); if($key == 'user_registered'){ $user_data = date_i18n(get_option('date_format'), strtotime($user_data)); } echo $nice_key . ' : ' . $user_data . '<br />'; } }

Leggi wp_get_current_user () online: https://riptutorial.com/it/wordpress/topic/2693/wp-get-current-user---

https://riptutorial.com/it/home 183

Page 201: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 70: wp_get_current_user ()

Examples

Ricevi le informazioni dell'utente connesso corrente

Recupera le informazioni relative all'utente attualmente connesso e le inserisce nella variabile globale $ current_user

Questa funzione non accetta alcun parametro.

Uso:

<?php wp_get_current_user(); ?>

Esempio:

<?php $current_user = wp_get_current_user(); echo 'Username: ' . $current_user->user_login . "\n"; echo 'User email: ' . $current_user->user_email . "\n"; echo 'User level: ' . $current_user->user_level . "\n"; echo 'User first name: ' . $current_user->user_firstname . "\n"; echo 'User last name: ' . $current_user->user_lastname . "\n"; echo 'User display name: ' . $current_user->display_name . "\n"; echo 'User ID: ' . $current_user->ID . "\n"; ?>

Per determinare se un visitatore ha effettuato l'accesso o meno, puoi utilizzare is_user_logged_in () prima, quindi ottenere le informazioni sull'utente corrente se il visitatore ha effettuato l'accesso:

<?php if ( is_user_logged_in() ) { $current_user = wp_get_current_user(); echo 'Welcome, ' . $current_user->user_login . '!'; } else { echo 'Welcome, visitor!'; } ?>

Leggi wp_get_current_user () online: https://riptutorial.com/it/wordpress/topic/6649/wp-get-current-user---

https://riptutorial.com/it/home 184

Page 202: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 71: WP-CLI

introduzione

WP-CLI è un insieme di strumenti da riga di comando per la gestione delle installazioni di WordPress. Puoi aggiornare plugin, configurare installazioni multisito e molto altro, senza usare un browser web.

Examples

Gestisci temi

Ottieni un elenco di temi.

$ wp theme list

Installa l'ultima versione da wordpress.org e attiva

$ wp theme install twentysixteen --activate

Installa da un file zip locale

$ wp theme install ../my-theme.zip

Installa da un file zip remoto

$ wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&amp;Expires=456&amp;Signature=abcdef

Ottieni dettagli su un tema installato

$ wp theme get twentysixteen --fields=name,title,version

Ottieni lo stato del tema

$ wp theme status twentysixteen

Gestisci i plugin

Ottieni un elenco di plug-in

$ wp plugin list

Elenca plugin attivi sul sito.

https://riptutorial.com/it/home 185

Page 203: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$ wp plugin list --status=active --format=json

Elenca i plug-in su ciascun sito in una rete.

$ wp site list --field=url | xargs -I % wp plugin list --url=%

Attiva plugin

$ wp plugin activate hello-dolly

Disattiva il plugin

$ wp plugin deactivate hello-dolly

Elimina plugin

$ wp plugin delete hello-dolly

Installa l'ultima versione da wordpress.org e attiva

$ wp plugin install bbpress --activate

Gestisci WP-CLI stessa

Mostra la versione attualmente installata.

$ wp cli version

Controlla gli aggiornamenti a WP-CLI.

$ wp cli check-update

Aggiorna WP-CLI all'ultima versione stabile.

$ wp cli update

Elenca tutti gli alias disponibili.

$ wp cli alias

Stampa vari dettagli sull'ambiente WP-CLI.

$ wp cli info

Scarica l'elenco dei comandi installati, come JSON.

https://riptutorial.com/it/home 186

Page 204: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

$ wp cli cmd-dump

Scarica, installa, aggiorna e gestisci l'installazione di WordPress.

Scarica il core di WordPress

$ wp core download --locale=nl_NL

Installa WordPress

$ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword [email protected]

Mostra la versione di WordPress

$ wp core version

Trasforma un'installazione a sito singolo in un'installazione multisite di WordPress.

$ wp core multisite-convert

Installa il multisito WordPress da zero.

$ wp core multisite-install

Gestisci gli utenti

Elenca gli ID utente

$ wp user list --field=ID

Crea un nuovo utente.

$ wp user create bob [email protected] --role=author

Aggiorna un utente esistente.

$ wp user update 123 --display_name=Mary --user_pass=marypass

Elimina l'utente 123 e riassegna i post all'utente 567

$ wp user delete 123 --reassign=567

Eseguire le operazioni di base del database utilizzando le credenziali memorizzate in wp-config.php

https://riptutorial.com/it/home 187

Page 205: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Crea un nuovo database.

$ wp db create

Elimina un database esistente.

$ wp db drop --yes

Reimposta il database corrente.

$ wp db reset --yes

Esegui una query SQL memorizzata in un file.

$ wp db query < debug.sql

Leggi WP-CLI online: https://riptutorial.com/it/wordpress/topic/9169/wp-cli

https://riptutorial.com/it/home 188

Page 206: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Capitolo 72: WP-Cron

Examples

wp_schedule_event () esempio

// register activation hook register_activation_hook( __FILE__, 'example_activation' ); // function for activation hook function example_activation() { // check if scheduled hook exists if ( !wp_next_scheduled( 'my_event' )) { // Schedules a hook // time() - the first time of an event to run ( UNIX timestamp format ) // 'hourly' - recurrence ('hourly', 'twicedaily', 'daily' ) // 'my_event' - the name of an action hook to execute. wp_schedule_event( time(), 'hourly', 'my_event' ); } } add_action( 'my_event', 'do_this_hourly' ); // the code of your hourly event function do_this_hourly() { // put your code here } // register deactivation hook register_deactivation_hook(__FILE__, 'example_deactivation'); // function for deactivation hook function example_deactivation() { // clear scheduled hook wp_clear_scheduled_hook( 'my_event' ); }

Importante: il cron di WordPress viene eseguito solo quando viene colpita una pagina del tuo sito web. Quindi, per il sito web con traffico basso è necessario configurare il cron sul tuo hosting per colpire le pagine.

intervallo di ricorrenza personalizzato in wp_schedule_event ()

// this function add custom interval (5 minutes) to the $schedules function five_minutes_interval( $schedules ) { $schedules['five_minutes'] = array( 'interval' => 60 * 5, 'display' => '5 minutes'; ); return $schedules; } // add a custom interval filter add_filter( 'cron_schedules', 'five_minutes_interval' );

https://riptutorial.com/it/home 189

Page 207: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

// Schedules a hook wp_schedule_event( time(), 'five_minutes', 'my_event' );

Leggi WP-Cron online: https://riptutorial.com/it/wordpress/topic/6783/wp-cron

https://riptutorial.com/it/home 190

Page 208: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Titoli di coda

S. No

Capitoli Contributors

1Iniziare con WordPress

4444, A. Raza, Andrew, animuson, Anupam, Chris Fletcher, Ciprian, Community, Florida, James Jones, JonasCz, Leo F, Marc St Raymond, Mayank Gupta, Milap, nus, Panda, rap-2-h, Seth C., Shubham, Trevor Clarke, vajrasar

2 add_action () Abel Melquiades Callejo, Waqas Bukhary

3 add_editor_style () Gabriel Chi Hong Lee

4 add_menu_page () brasofilo, Gabriel Chi Hong Lee

5add_submenu_page ()

Gabriel Chi Hong Lee, theoretisch

6add_theme_support ()

Gabriel Chi Hong Lee

7Admin Dashboard Widgets

theoretisch

8Aggiorna WordPress manualmente

KnightHawk

9

Aggiungi / rimuovi le informazioni di contatto per gli utenti con hook del filtro user_contactmethods

Petar Popovic, RamenChef

10 Aggiungi Shortcode purvik7373, RamenChef

11 AJAXAndy, Digvijayad, Gaurav Srivastava, GreatBlakes, Nisarg Patel, Ruslan Murarov, stweb

12 API REST Picard

13 Azioni e filtri David, Ihor Vorotnov, Mrinal Haque, Trying Tobemyself

14Ciclo principale alternato (pre_get_posts filter)

Dawid Urbanski, Petar Popovic

15 Ciclo WP_Query () vrajesh

https://riptutorial.com/it/home 191

Page 209: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

16 Codice cortoAd Wicks, Adam Genshaft, brasofilo, John Slegers, Kylar, Shashank Agarwal

17

Come posso integrare Markdown editor con Add-on del ripetitore Advance Custom Field.

Fatbit

18Crea un modello per il tipo di messaggio personalizzato

Ashok G, Egnaro, Joe Dooley, mnoronha

19Crea un post programmaticamente

RamenChef, Roel Magdaleno, RRikesh

20Creare un modello personalizzato

Petar Popovic

21Creazione di plugin WordPress

Seth C.

22Customizer Hello World

Dan Green-Leipciger

23 Debug barbocc, dingo_d, jgraup

24 dentro Abel Melquiades Callejo, barbocc

25Esegui WordPress locale con XAMPP

Pierre.Vriens, theoretisch

26

Esercizi personalizzati con excerpt_length e excerpt_more

inkista, Petar Popovic, RamenChef

27Fare richieste di rete con l'API HTTP

Jordan, mjangda, Rarst

28Funzione: add_action ()

bosco, RamenChef

29Funzione: wp_trim_words ()

Harshal Limaye

30 Gerarchia dei modelli jgraup, MarZab, Pelmered, theoretisch

Abel Melquiades Callejo, Harshal Limaye, HeyCameron, KenB, Nate Beers, RamenChef, Tom J Nowell, virtualLast, Wes

31 get_bloginfo ()

https://riptutorial.com/it/home 192

Page 210: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

Moberly

32 get_home_path () Ihor Vorotnov

33 get_option () Gabriel Chi Hong Lee

34 get_permalink () Gabriel Chi Hong Lee

35 get_template_part () Dan Devine, Kushal Shah

36 get_the_category () Gabriel Chi Hong Lee

37 get_the_title () Gabriel Chi Hong Lee

38 HOME_URL () dingo_d, Kushal Shah, matthew, Mr. Developer

39 il titolo() Gabriel Chi Hong Lee

40Installazione e configurazione

Kenyon, Marco Romano, Ping.Chen, S.L. Barth, stig-js, theoretisch, Yuan Lung Luo

41 L'oggetto $ wpdb Kushal Shah, mcon, stweb

42La barra di amministrazione (aka "The Toolbar")

dingo_d, Harshal Limaye, JCL1178, Kushal Shah

43 Messaggi di ricerca dingo_d

44 Meta Box Austin Winstanley

45 Migrazione del sito Austin Winstanley

46Nozioni di base sui temi del bambino

Andrei, Razvan Onofrei, Vlad Olaru

47

Nozioni di base sulla personalizzazione (aggiungi pannello, sezione, impostazioni, controllo)

4444, Ahmad Awais, RamenChef

48 Opzioni API Harshal Limaye, Pat J, RamenChef

49 Post formati Shashank Agarwal

50Proteggi la tua installazione

James Jones

Rimuovi interruzioni 51 Austin Winstanley

https://riptutorial.com/it/home 193

Page 211: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

di riga automatiche dal contenuto e dall'estratto

52Rimuovi la versione da Wordpress e Stylesheets

jay.jivani, mnoronha, theoretisch

53 Scansioni di scriptdingo_d, Harshal Limaye, J.D., mbacon40, montrealist, Pelmered, Petar Popovic

54Shortcode con attributo

Digvijayad, Firefog, RamenChef

55 Shortcodes Pelmered

56Sicurezza in WordPress - Escaping

Laxmana, the4kman

57Sicurezza in WordPress - Sanitizzazione

Laxmana

58 sidebars dingo_d, Kushal Shah, theoretisch

59 Stili accattivantidingo_d, Harshal Limaye, Laxmana, mnoronha, montrealist, Petar Popovic, RamenChef, Ruslan Murarov, virtualLast

60 Sviluppo di plugin Angle.Ŗ, Ping.Chen

61 Tassonomie adifatz, Kushal Shah, purvik7373

62Tema Wordpress e sviluppo del tema bambino

Deathstorm

63 Temi Jef

64 template_include Abel Melquiades Callejo, David, RamenChef

65The Loop (ciclo principale di WordPress)

anik4e, Dawid Urbanski

66Tipi di messaggi personalizzati

Caio Felipe Pereira, Dan Devine, J.D., janw, jgraup, Kushal Shah, Omar Khaiyam, Ranuka, theoretisch

67wp_get_current_user ()

Abel Melquiades Callejo, Benoti, Muhammad Farrukh Faizy

https://riptutorial.com/it/home 194

Page 212: WordPress - RIP TutorialCapitolo 25: Esegui WordPress locale con XAMPP 70 introduzione 70 Examples 70 1. Installazione di XAMPP 70 2. Configurare un database dopo aver installato XAMPP

68 WP-CLI jgraup

69 WP-Cron stweb

https://riptutorial.com/it/home 195