WordPress e WooCommerce sarebbero nulla senza PHP. Sviluppo e customizzazione non esisterebbero. Lunicit di ogni sito non sarebbe possibile.
Ecco, senza PHP you go nowhere e nel talk partiremo letteralmente da zero per poi cercare di capire le basi del PHP e come utilizzarlo per modificare un sito WordPress/WooCommerce.
PHP 竪 difficile solo per ricordarsi il significato dellacronimo per il resto 竪 un linguaggio di programmazione divertente, intuitivo e allo stesso tempo pericoloso. Basta dimenticarsi un punto e virgola e lintero sito pu嘆 andare offline
Lo scopo di questo talk sar convincere i non programmatori a provare a scrivere un paio di righe di PHP anzich辿 scaricare yet another plugin. Se ci sono riuscito io che non sono un programmatore
2. RODOLFO MELOGLI 息2021
Da zero a PHP...
Se conosci un minimo di HTML (<div> <p> <ul> <li> <img>
<a> <h1> <h2> <h3> <span>) 竪 un peccato non saper giocare
in PHP (80% web, 100% WP)
PHP = "PHP: Hypertext Preprocessor"
(https://www.php.net); in poche parole, PHP genera pagine
web dinamicamente (ovvero HTML!). E non solo.
2
3. RODOLFO MELOGLI 息2021
Da zero a PHP...
WP core, temi, plugin sono sviluppati in PHP. Se lo
conosci... li customizzi. Bastano spesso 4 righe di
codice per modi鍖care/aggiungere qualcosa
Prima di considerare l'installazione di yet another
plugin, vedi se qualche riga di PHP pu嘆 bastare :)
3
5. RODOLFO MELOGLI 息2021
Differenza tra HTML "manuale" e
HTML generato da PHP
息 2011-2020 ACME INC.
息 2011-<?php echo date( 'Y' ); ?> ACME INC.
5
6. RODOLFO MELOGLI 息2021
Cosa fa PHP
Genera HTML dinamico (date('Y') per esempio)
Salva dati inseriti in un <form>
Parla/scrive col/sul DB
Parla/scrive con/su 鍖le
Salva/legge cookies
E molto altro
6
7. RODOLFO MELOGLI 息2021
Sintassi
<?php echo date( 'Y' ); ?>
PHP script 竪 delimitato dai tag di apertura/chiusura
PHP statement 鍖niscono col ;
PHP function date() ecc.
PHP viene scritto in un 鍖le .php (functions.php per esempio)
7
8. RODOLFO MELOGLI 息2021
Prepararsi a scrivere in PHP
Hosting con PHP installato (tutti praticamente!)
Dominio
SW: Code editor es. NotePad++
SW: FTP es. FileZilla
(sito WordPress)
8
12. RODOLFO MELOGLI 息2021
Sintassi
<?php $totale = 59; ?>
In questo statement de鍖nisco la variabile ($) $totale e gli
assegno il numero 59 e ne de鍖nisco il tipo (integer)
<?php $totale = "59"; ?>
?
12
13. RODOLFO MELOGLI 息2021
Sintassi
<?php $totale = 0; ?>
nome variabile inizia con lettera oppure "_"
solo (A-z, 0-9, _ )
case-sensitive: $Totale != $totale
13
22. RODOLFO MELOGLI 息2021
Argomenti
<?php
function hello( $name ) {
echo 'Ciao ' . $name . '!';
}
hello( 'Rodolfo' ); // chiama con argomento
?>
si possono passare informazioni alla funzione
22
23. RODOLFO MELOGLI 息2021
Argomenti
<?php
function hello( $name = 'Pinco' ) {
echo 'Ciao ' . $name . '!';
}
hello( 'Rodolfo' ); // chiama con argomento
?>
si possono passare informazioni alla funzione
valore di default: in caso di assenza di argomento
23
28. RODOLFO MELOGLI 息2021
PHP in WP
Core, theme, plugin 鍖le sono quasi tutti .php
Inoltre, WP de鍖nisce anche le sue funzioni PHP:
get_header() the_title() the_content() ecc.
Custom PHP si pu嘆 inserire nel child theme per
personalizzare WP/theme/plugin
28
29. RODOLFO MELOGLI 息2021
WP Hooks
Sito WP 竪 un assemblaggio di funzioni PHP che poi
restituiscono il risultato nel browser (header, contenuto,
sidebar, footer)
Durante questo assemblaggio, puoi "stoppare" il
processo, "agganciare" la tua funzione, e farlo ripartire
SENZA modi鍖care i 鍖le WP/theme/plugin
29
30. RODOLFO MELOGLI 息2021
WP Hooks - Esempio "wp_head"
<?php
add_action( 'wp_head', 'googleanalytics' );
function googleanalytics() {
echo '<script>codice qui</script>';
}
?>
mentre WP assemblava l'header, ho "agganciato" il
mio script chiamando la mia funzione custom
30
31. RODOLFO MELOGLI 息2021
WP Hooks - Esempio "the_content"
<?php
add_鍖lter( 'the_content', 'concatena_banner' );
function concatena_banner( $content ) {
$content = $content . '<img src=/BusinessBloomer/wordcamp-italia-2021-da-zero-a-php/"bann.jpg">&
return $content;
}
?>
mentre WP assemblava il contenuto, ho "agganciato"
il banner chiamando la mia funzione custom
31
32. RODOLFO MELOGLI 息2021
WP Hooks: add_action add_鍖lter
add_action ti permette di agganciarti a una do_action
per aggiungere qualcosa (contenuto, un'azione, ecc.)
add_鍖lter ti permette di agganciarti a un apply_鍖lters
per manipolare qualcosa (es. array di categorie)
32
33. RODOLFO MELOGLI 息2021
Un plugin ben sviluppato ti offre:
una marea di do_action per aggiungere
personalizzazioni tramite functions.php
una marea di apply_鍖lters per intercettare le sue
funzioni e manipolarle tramite functions.php
altrimenti devi modi鍖care i core 鍖les (big NO)
33
34. RODOLFO MELOGLI 息2021
Caso Studio 1: prefooter
su tutte le pagine WP si desidera aggiungere una
sezione "prefooter" con un banner
vado a cercarmi l'hook di WP che corrisponde al
momento in cui assembla il footer
mi "aggancio" e faccio caricare prima la mia funzione
custom
34
35. RODOLFO MELOGLI 息2021
Caso Studio 1: prefooter
<?php
add_action( 'get_footer', 'prefooter', 1 );
function prefooter() {
echo '<img src=/BusinessBloomer/wordcamp-italia-2021-da-zero-a-php/"header-banner.jpg">&
}
?>
35
priority
37. RODOLFO MELOGLI 息2021
Caso Studio 2: rimuovere WC tabs
WooCommerce "aggiunge" i single product tabs con
un suo hook: add_action( 'woocommerce_after_single_product_summary',
'woocommerce_output_product_data_tabs', 10 );
tramite PHP vogliamo rimuoverlo
businessbloomer.com/woocommerce-visual-hook-gui
de-single-product-page per lista hooks
37
38. RODOLFO MELOGLI 息2021
Caso Studio 2: rimuovere WC tabs
<?php
remove_action(
'woocommerce_after_single_product_summary',
'woocommerce_output_product_data_tabs', 10 );
?>
38
unica differenza
39. RODOLFO MELOGLI 息2021
Caso Studio 3: SEO
<?php
function home_meta_description() {
if ( is_home() ) {
echo '<meta name="description" content="Il
WordCamp Italia 竪 un evento online organizzato dalla
community italiana di WordPress">';
}
}
add_action( 'wp_head', 'home_meta_description');
?>
39
41. RODOLFO MELOGLI 息2021
Recap
Potremmo fare un WordCamp intero a riguardo
In questi minuti hai imparato a scrivere in PHP, creare
funzioni e manipolare un sito WP
Ora sta a te continuare con lo studio e la pratica. Se in
15 minuti abbiamo fatto tutto questo, chiss in 100
ore cosa si pu嘆 ottenere!
41