In ottica di ottimizzazione di un sito web, può venire in mente il classico “Fai da te”, quindi la possibilità di creare plugin per WordPress da soli.
In molti credete che sia una cosa complessa, ma in realtà è molto più semplice di quanto voi possiate immaginare. L’unica difficoltà, risiede nella conoscenza di WordPress e nel linguaggio “PHP”.
Il linguaggio PHP
La mia esperienza
Personalmente, da quando ho iniziato a studiare questo linguaggio, mi si è aperto un mondo completamente nuovo e pieno di cose da poter fare. Essenzialmente è molto semplice:
1 2 3 |
<?php CODICE QUI ?> |
Come potete vedere, a differenza del linguaggio web HTML, non ha bisogno di particolari tag per essere usato. La difficoltà di questo linguaggio sta nel fatto che le sue funzioni sono case-sensitive, ovvero come le scrivete, così verranno lette.
Se errate il richiamo di una funzione, anche solo di una maiuscola al posto della minuscola, riceverete un errore. Quindi fate attenzione nella compilazione del plugin.
Essendo il PHP un codice server-side, ovvero funziona lato server e non lato client, ci sono una miriade di possibilità d’uso. Personalmente, l’ho utilizzato in svariate situazioni, anche al di fuori di WordPress. Ad esempio, ho creato uno script che permettesse di prelevare dati JSON e trasformarli in un formato dati CSV per l’importazione di prodotti ovunque si voglia.
Lo studio e gli esempi
Personalmente, ho iniziato a studiare PHP utilizzando le mie conoscenze pregresse nell’analisi di codici di programmazione, compreso il Javascript. Quindi avevo già una base su cui lavorare, ma mi è tornato molto utile, in alcuni frangenti, la guida di html.it.
Oltre a ciò, la programmazione è stupenda per un semplice motivo, che esula le varie guide che potrete trovare online: Gli sviluppatori CONDIVIDONO (come il sottoscritto) le proprie conoscenze ed il proprio lavoro su siti come GitHub.
Inoltre, si confrontano con altri sviluppatori per arrivare alla fine di uno script su siti come Stackoverflow. Questo fa sì che qualsiasi cosa voi facciate, troverete sempre qualcuno che l’ha fatta prima di voi; in caso contrario, potrete aprire un topic e richiedere aiuto nella compilazione. Bello, no?
Software o Compilatori
Ovviamente, non potrete utilizzare il classico NotePad di Windows (anche se qualcuno lo fa ed ha il mio rispetto per questo), soprattutto se non siete abbietti in questo mondo. Ci sono due tipi di software che si possono usare: Editor di Codice Sorgente o IDE (ambiente di sviluppo integrato).
Nel primo caso, avrete a che fare con software come Sublime Text (che io uso) e si limiterà a leggere la tipologia di codice e vi aiuterà nella compilazione con i suggerimenti delle funzioni o richiami da fare.

Eclipse IDE for PHP Developers
Nel secondo caso, invece, avrete un vero e proprio software che vi precompilerà il codice e dovrete solo modificarlo per adattarlo alle vostre esigenze. In effetti, si usano moltissimo nella crazioen di applicazioni ad hoc, che sono lunghe da sviluppare e richiedono tante righe di codice. Un esempio di software, nel nostro caso, è “Eclipse IDE for PHP Developers”.
Creare un plugin per WordPress usando il PHP
Struttura dei plugin
Il plugin essenzialmente è formato da: Una cartella contenente un file PHP. Fine. Sul serio, non ci vuole poi così tanto a creare un plugin, salvo se deve fare determinate cose. Siete sorpresi? Non credo. Credo invece che siate stupiti dal fatto che basta ciò che installarne uno, quello sì.
La complessità di un plugin risiede, infatti in quello che dovrà realmente fare. Un esempio: Una cosa è se si vuole aggiungere una scritta sull’header del nostro sito che si aggiorna in base a… boh, il titolo del sito stesso. Un’altra è se deve inserire informazioni nel DB, salvarle, esaminarle o avere una voce nel pannello d’amministrazione.
Creiamo il plugin per WordPress
Finalmente, siamo arrivati al tanto agognato momento della creazione. Ecco di cosa avremo bisogno:
1) Un server o XAMPP o WAMP.
2) FileZilla: per connetterti a un server avrai bisogno di questo, altrimenti nada, apri solo la cartella del tuo sito in locale.
3) Un compilatore o editor di testo, scegli tu.
In emtrambi i casi, creiamo una cartella in /wp-content/plugins/
e, al suo interno, un file che chiamerete come volete, l’importante è che abbia estenzione “.php”. Nel nostro caso, lo chiameremo “auxtintech.php”.
Una volta creato, apritelo e iniziamo a definire cosa dovrà fare. Nel nostro caso, sostituiremo il logo di wordpress con uno a nostro piacere.
Iniziamo col definire le informazioni del plugin: Autore, versione e così via. Per farlo, inserite questo codice nel file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php /** * Plugin Name: Il mio primo plugin * Plugin URI: https://dominio.exp/wp-content/plugins/nomedellacartella/ * Description: Un semplice plugin per sostuire il logo di WordPress col nostro. * Version: 1.0 * Requires at least: 5.0 * Requires PHP: 7.0 * Author: Nome e Cognome * Author URI: https://nomedominio.exp/ * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Text Domain: il-mio-primo-plugin * Domain Path: /languages */ |
Spiegazione rapida by WordPress.org:
Plugin Name: (obbligatorio) Il nome del plug-in, che verrà visualizzato nell’elenco dei plug-in nell’amministratore di WordPress.
Plugin URI: La home page del plugin, che dovrebbe essere un URL univoco, preferibilmente sul tuo sito web. Questo deve essere unico per il tuo plugin. Non puoi utilizzare un URL di WordPress.org qui.
Description: Una breve descrizione del plug-in, come visualizzato nella sezione Plugin dell’amministratore di WordPress. Mantieni questa descrizione a meno di 140 caratteri.
Version: Il numero di versione corrente del plug-in, come 0.1 o 1.0.
Requires at least: La versione di WordPress più bassa su cui funzionerà il plugin.
Requires PHP: La versione PHP minima richiesta.
Author: Il nome dell’autore del plugin. È possibile elencare più autori utilizzando virgole.
Author URI: Il sito web o il profilo dell’autore su un altro sito web, come WordPress.org.
License: Il nome breve (slug) della licenza del plugin (ad es. GPLv2). Ulteriori informazioni sulla licenza sono disponibili nelle linee guida di WordPress.org.
License URI: Un collegamento al testo completo della licenza (ad esempio https://www.gnu.org/licenses/gpl-2.0.html).
Text Domain: Il dominio di testo gettext del plugin.
Domain Path: Il percorso del dominio consente a WordPress di sapere dove trovare le traduzioni.
Network: Se il plugin può essere attivato solo a livello di rete. Può essere impostato solo su true e dovrebbe essere escluso quando non è necessario.
Inseriamo il nostro codice
Per creare plugin per WordPress, abbiamo bisogno, oltre delle informazioni basilari, anche del codice che darà vita ai nostri sogni. Nel nostro caso, come detto precedentemente, si occuperà di sostituire il logo di WordPress con il nostro nella sezione “login”. Oltre a ciò, cambieremo Favicon e messaggio nel footer admin di WP.
Inseriamo quindi questo codice DOPO */
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
//Cambio favicon Wordpress sulla barra function cambiologo() { echo ' <style type="text/css"> #wpadminbar #wp-admin-bar-wp-logo>.ab-item { padding: 0 7px; background-image: url(' . plugin_dir_url( __FILE__ ) . 'images/favicon.jpg) !important; background-size: 70%; background-position: center; background-repeat: no-repeat; opacity: 0.8; } #wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before { content: " "; top: 2px; } </style> '; } add_action('wp_before_admin_bar_render', 'cambiologo'); //Cambio messaggio footer WP function rimuoviwp () { echo '<span id="footer-thankyou">Sito creato da <a href="https://www.auxtintech.it" target="_blank" rel="noopener noreferrer">Agostino Costantino</a></span>'; } add_filter('admin_footer_text', 'rimuoviwp'); //Cambio logo sul login define( 'LoginLogo_URL', plugin_dir_url( __FILE__ ) ); define( 'LoginLogo_PATH', plugin_dir_path( __FILE__ ) ); class LoginLogo { function __construct() { add_action('login_head', array( $this, 'login_logo')); add_filter('login_headerurl', array( $this, 'login_url')); } function login_logo() { include_once( LoginLogo_PATH . '/logo/loghi.php' ); } function login_url() { $custom_login_url = get_option('wp_custom_login_url',home_url()); return $custom_login_url; } } $CMAdvisorLoginLogo = new LoginLogo(); |
Analizziamo il codice
Il codice appena visto, ha tre funzionalità: Cambio di favicon, cambio messaggio in footer sulla dashboard e cambio del logo in login. Analizziamo ora il codice insieme e sostituiamo le parti che ci interessano.
La Favicon
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//Cambio favicon Wordpress sulla barra function cambiologo() { echo ' <style type="text/css"> #wpadminbar #wp-admin-bar-wp-logo>.ab-item { padding: 0 7px; background-image: url(' . plugin_dir_url( __FILE__ ) . 'images/favicon.jpg) !important; background-size: 70%; background-position: center; background-repeat: no-repeat; opacity: 0.8; } #wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before { content: " "; top: 2px; } </style> '; } add_action('wp_before_admin_bar_render', 'cambiologo'); |
Questo primo codice, non fa altro che aggiungere CSS inline per prendere l’immagine dalla cartella “images”, situata, nel nostro caso, nella cartella del plugin. Infatti l’utilizzo di plugin_dir_url( __FILE__)
, non fa altro che prendere l’url del plugin (plugin_dir_url)
e la posizione del file ove si trova il codice stesso (__file__)
.
Qui dovrete conoscere un po’ di CSS se volete modificare qualcosa, ma le classi di CSS saranno comunque quelle. Quindi potrete cambiare il margin, il padding, la posizione dell’immagine stessa (sostituendo il contenuto delle parentesi ed inserendo, magari, l’url completo: “url(https://nomesito.exp/wp-content/uploads/2020/06/logo.png)”.
Dopo di che, aggiungere l’azione a WordPress, in modo da eseguirla. Qui non dovrete cambiare nulla.
Il messaggio in footer
Essenzialmente cambieremo il messaggio in immagine con quello che noi desideriamo. Solitamente, visto il nostro ego (compreso il sottoscritto), lo faremo inserendo cose del tipo “CREATO DA ME MEDESIMO E C’HO IL COPYRIGHT SU QUESTO”.
1 2 3 4 5 6 7 |
//Cambio messaggio footer WP function rimuoviwp () { echo '<span id="footer-thankyou">Sito creato da <a href="https://www.auxtintech.it" target="_blank" rel="noopener noreferrer">Agostino Costantino</a></span>'; } add_filter('admin_footer_text', 'rimuoviwp'); |
Il codice quindi si compone di un semplice “echo”, ovvero una “stampa” a schermo del messaggio che vogliamo. Nel mio caso, visto l’ego di cui sopra, ho scritto che il sito è stato creato da me, con un link al mio sito. Considerando che non amo inserire il copyright nel footer, visibile a tutti, lo inserisco nella dashboard del cliente, in modo da ricordarsi con chi ha a che fare!11!! (scherzo, forse).
Non vi resterà altro che, tramite un po’ di HTML, sostituire il messaggio in:
1 |
echo='<span id="footer-thankyou">MESSAGGIO CHE VOGLIAMO QUI'</span> |
Il cambio del logo
In questo caso, le cose si fanno un po’ più complesse. Per il semplice fatto che dobbiamo modificare due file. Ho preferito fare in questo modo per avere più ordine nel codice ed avere un file inerente solo alla modifica degli URL dei loghi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//Cambio logo sul login define( 'LoginLogo_URL', plugin_dir_url( __FILE__ ) ); define( 'LoginLogo_PATH', plugin_dir_path( __FILE__ ) ); class LoginLogo { function __construct() { add_action('login_head', array( $this, 'login_logo')); add_filter('login_headerurl', array( $this, 'login_url')); } function login_logo() { include_once( LoginLogo_PATH . '/logo/loghi.php' ); } function login_url() { $custom_login_url = get_option('wp_custom_login_url',home_url()); return $custom_login_url; } } $CMAdvisorLoginLogo = new LoginLogo(); |
Questo codice si divide essenzialmente in tre parti: definizione delle variabili, delle funzioni e richiamo della funzione stessa. Effettivamente qui non dovremo cambiare nulla, ma solo creare una ulteriore cartella chiamata “logo” ed un ulteriore file al suo interno chiamato “loghi.php”:
1 2 3 |
function login_logo() { include_once( LoginLogo_PATH . '/logo/loghi.php' ); <---- ECCO IL PERCORSO. Se volete cambiarlo, potete farlo. } |
Potete anche togliere, volendo, la cartella “logo” ed inserire solo “loghi.php” nello stesso posto ove risiede il file PHP che state modificando. Basta che al suo interno inseriate ciò:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* Personalizza stile login */ $custom_logo_url = get_option('wp_custom_login_logo_url', LoginLogo_URL.'images/logo1.png'); $custom_logo_height = get_option('wp_custom_login_logo_height','130'); $custom_logo_width = get_option('wp_custom_login_logo_width','350'); echo '<!-- Personalizzato da Agostino Costantino --> <style type="text/css"> .login h1 a { background-image:url('.$custom_logo_url.') !important; background-size:'.$custom_logo_width.'px '.$custom_logo_height .'px; height:'.$custom_logo_height .'px; width:'.$custom_logo_width.'px; margin: 0 auto; } .login .message { display: none; } </style>'; |
Questa parte è un po’ più complessa, non uso semplice CSS, ma CSS con l’ausilio delle funzioni PHP. L’unica cosa che dovrete cambiare qui sono solo le tre funzioni:
1 2 3 |
$custom_logo_url = get_option('wp_custom_login_logo_url', LoginLogo_URL.'images/logo.png'); $custom_logo_height = get_option('wp_custom_login_logo_height','130'); $custom_logo_width = get_option('wp_custom_login_logo_width','350'); |
custom_logo_url: Contiene il percorso dell’immagine. Nel mio caso, ho preferito creare una cartella chiamata “images” ed al suo interno gli ho inserito il mio logo. Potete tranquillamente togliere “images” e rimanere solo l’immagine, caricandola nella cartella del plugin che avete creato, no problem.
custom_logo_height: Si occupa dell’altezza, in px, del vostro logo. Regolate i px in base all’altezza del vostro logo.
custom_logo_width: Si occupa della larghezza, in px, del vostro logo. Regolate i px in base alla larghezza del vostro logo.
In caso abbiate difficoltà, commentate l’articolo e vi aiuterò volentieri!
Conclusioni
Il vostro primo plugin WordPress
Vi faccio i miei complimenti, se avete raggiunto le conclusioni, vuol dire che avete creato il vostro primo plugin per WordPress! Se avete avuto difficoltà, non esitate a chiedere, sono qui per voi!
Pensieri finali
Qualcuno nel mio paesino strizzerà gli occhi, visto che vi ho appena enunciato come metter mano a WordPress in modo professionale, ma non è un problema, son sicuro fioccheranno plugin à gogo, quindi in caso noti ciò, avrò fatto un buon lavoro.
Non dimenticatevi di condividere l’articolo se vi è piaciuto e di commentare se avete domande o anche migliorie del mio codice! Ne sarei onorato.
Peace&Love.
Salve,
dovrei implementare il seguente plugin:
Aspetto grafico: un punto di input e un bottone
Operatività:
– Utente: a) immette un nel punto di input un stringa di caratteri alfanumerici
b) clicca sul bottone
– Plugin: c) accede ad una tabella del DB e cerca la stringa di caratteri immessa dall’utente
d) se la trova chiama un’altra pagina (URL)
altrimenti manda un messaggio d’errore (ma non è necessario, potrebbe benissimo non fare nulla)
Tra le migliaia di plugin che ci sono in giro non sono riuscito a trovarne uno che svolga queste semplici funzioni … qualche suggerimento.
L’ambiente è WP ed Elementor Pro
Buon pomeriggio Sandro,
umh. Essenzialmente si tratta di un singolo input field che avvia una query in DB. Considera che WordPress, di base, funziona in questo modo: tutti gli articoli, pagine, prodotti, ecc, esistono in un’unica tabella: posts. Quando fai una query del genere, significa fare una query “SELECT X FROM wp_posts WHERE post_title = TITOLOQUI”. Quello che vorresti fare tu è, essenzialmente, un strpos su WHERE, che in SQL si trasforma in LIKE, ovvero “select x from wp_posts LIKE post_title = titoloqui”. Di base è semplice da fare, almeno in PHP: crei un field in html e lo richiami in PHP con $_GET[‘field’]. Dopodiché esegui la query con $wpdb e in un if statement, ovvero “se la parola si trova, tutto ok, altrimenti non è ok”.
Potresti provare in questo modo: Usare il field ricerca integrato in wordpress. Installi il plugin REDIRECTION e segui questa soluzione da stackoverflow. Di conseguenza trovare la migliore soluzione per te.
Alternative sarebbero NinjaForms, con le sue querystrings.
Penso comunque che tu abbia bisogno di un plugin che migliori la ricerca di WordPress usando redirect in strpos con querystring, tipo WP-Search che ti permette di fare redirect simili.
Di base comunque, il plugin deve avere una sola funzionalità, di base, dovrebbe:
Se non hai già trovato e sei ancora alla ricerca, contattami via email, magari te lo creo io un plugin simile 🙂
Grazie per la gentile risposta; me la sto studiando. E’ il primo sito WP e penso proprio che sarà anche l’ultimo – ho lavorato per 42 anni nell’informatica per Olivetti, IBM, Computer Science Corporation, Andersen Consulting e altri, con ambienti totalmente differenti; quello che mi lascia più perplesso è la frammentazione della documentazione lasciata alla buona volontà dei singoli. Il sito che sto implementando (www.stranamente.net) è per mio figlio, che fa lo psicanalista (come puoi ben intuire dal nome del dominio). Mi ha chiesto se gli facevo un blog e ho pensato che WP fosse una buona scelta (anche se a me completamente sconosciuto); poi come sempre succede le richieste sono cresciute e mi sono reso conto che se avessi scelto un linguaggio a me più consono non avrei fatto un soldo di danno (ASP.NET Core, C#, Angular ecc) … e così ora mi trovo con l’ultima funzione che mi serve per chiudere il progetto da implementare ex novo; ho usato PHP per pochi mesi 15 anni fa, non ricordo più nulla …
Comunque ho deciso di scrivere uno ShortCode; ho fatto i primi passi e la cosa promette bene. Speriamo che San BIt martire mi aiuti.
ps ho trovato la collezione di plugin Shortcodes-ultimate consigliata da WP (https://wordpress.org/plugins/shortcodes-ultimate/) e indovina cosa manca ? un plugin per un creare un InputField , o quanto meno meno, io non sono riuscito a trovarlo, per creare una label c’è, per creare un bottone c’è, l’inputfield no; è questo che mi sconcerta di WP, ci sono migliaia di Plugin che fanno quasi tutti la stessa cosa, poi improvvisamente qualcosa manca e sei in brache di tela.
Grazie ancora.
Ma figurati. In effetti sì, WordPress ha miliardi (letteralmente) di plugin, ma nessuno realmente utile per specifiche funzioni. O hanno versioni premium oppure non fanno al caso nostro. Il motivo per cui i miei ultimi articoli si concentrano sulla creazione reale ex novo e non sul “ehi, qua c’è un plugin, usatelo! È molto bello!”.
Per quanto concerne il sito di tuo figlio(non posso che fare i migliori auguri per il lavoro 🙂 ), WordPress è la scelta migliore per semplici blog, evitando plugin come Elementor. Per creare uno shortcode ti serve soltanto l’hook “do_shortcode()”. Se proprio non vuoi metter mano al codice per i tanti hook da conoscere (visto che non usi da 15 anni, lo farei anche io), potresti provare ACF, ha una documentazione niente male e permette di fare tante cose gratuitamente. Per printare poi il codice in una pagina, puoi usare gli if statement (ad esempio, vuoi il singolo articolo è
"if(is_single){}"
) con i loro codici pronti:echo do_shortcode( get_field('NOMECAMPO') );
Alternativa valida, a mio avviso, anche se poco user friendly è Oxygen Builder. È poco intuitivo, ma come vedi dalla documentazione, ti permette di usare codice direttamente dal builder stesso (lo sto testando in questi giorni per farci un articolo, se hai voglia di leggerlo in futuro); una volta compreso, è davvero flessibile e non richiede ulteriori plugin per funzionare (oltre al costo una tantum).
ti ho risposto ma non sono sicuro che la risposta sia partita regolarmente,
Tranquillo, viste le vulnerabilità di WP in generale, ho fatto sì che nessun commento venga pubblicato senza approvazione. E visto che anche la moderazione ha tante vulnerabilità, non arrivano proprio lì, ma direttamente in “cestino”, in modo da ovviare qualsivoglia problema. Mi connetto spesso alla fine e ripristino/approvo i commenti, per questo non hai ricevuto notifica 🙂
Ciao,
sono contento che la mia risposta ti sia giunta, un po’ meno per le vulnerabilità …
ieri mi sono imbattuto in una raccolta di ShortCode (WordPress Shortcodes Plugin) ho fatto i salti di gioia: c’è di tutto, poi ho guardato meglio e c’è uno short code per le etichette, uno per i bottoni, manca quello l’input del testo !!! forse non sono stato capace io di trovarlo … e non sono riuscito a trovare come concatenare i singoli shorcode : prima l’etichetta, poi l’input (ammesso che ci sia), sotto il bottone, il bottone deve “vedere” il contenuto dell’input (c’è, non c’è, è del tipo che mi serve), se il contento dell’input è corretto deve lanciare la query, la query è una boiata, ma prima di lanciarla mi devo connettere al DB (come immagino) ? e se si qual’è la stringa di connessione ? Me la devo far dire da qualcuno di Siteground…. ma un esempio compiuto possibile che non si riesca a vedere ?! Vendere è il solo obiettivo. Magari idiozie ma bisogna vendere. Magari quello che ancora non hai fatto e non sai se ci riuscirai a farlo, ma bisogna venderlo.
Scusa. Sono certamente io che sono fatto male; ho insegnato alla facoltà di Matematica di Roma per 11 anni, se avessi insegnato così, un pezzo qui, un altro la, pezzi di logica omessi, vatti a cercare quello che immagini che ti serva …. mi avrebbero menato, e a ragione.
Ho quindi preso la decisione: mi ristudio PHP e che Dio me la mandi buona; in fin dei conti ho promesso a mio figlio il sito in line per il 1° settembre. e in 40 gg ce la farò a scrivere 10/15 righe di codice.
Non mi ricordo se ti ho detto l’url del sito (nel caso ti fosse venuta curiosità) http://www.stranamente.net; qui https://stranamente.net/aula/ c’è una prova di Pluhin/Shortcode: Biglietto l’ho scritto con uno scortcode. Bravo eh ?!!!
Ciao Sandro,
non ho capito se era un richiamo nei miei confronti o uno sfogo personale. In caso fosse un richiamo, chiedo scusa se il mio comportamento ti abbia offeso in qualche modo, non era mia intenzione. Per quanto concerne, invece, le tue domande, rispondo per gradi:
$titolo = $risultato->post_title;
$username = $risultato->user_name;
$orario = $risultato->modified_date;
$azione = $risultato->action;
Ciao,
ma no … sono arrabbiato (evidentemente si sente) ma certamente non con te, anzi
ieri ho passato quasi tutto il giorno al pronto soccorso: mio figlio si occupa dell’assistenza psicologica ospedaliera a persone con gravi problemi psicologici, bisogna seguirli in tutto, mentre faceva scendere dal pulmino uno dei sui pazienti ha perso l’equilibrio e ha battuto violentemente la testa; quasi 7 ore per una tac; poi sono arrivati i compromessi e le pressioni perché non dichiarasse di avere avuto un incidente sul lavoro …. e di conseguenza oggi è andato a lavorare, per la precisione lo abbiamo dovuto accompagnare al lavoro perché non se la sentiva di guidare … a questo aggiungi che è appena uscito da 37 giorni di COVID, contratto ovviamente sul lavoro – i suoi pazienti non possono indossare nulla, non sono in grado di fare nulla, figurati una maschera ad ossigeno – ha passato i 37 giorni senza essere visitato da nessun medico, da solo – mi hanno impedito di andargli a tenere compagnia – una vergogna; basta non voglio affliggerti. Tornando a WP: l’idea che mi sembra più semplice per me – per le mie limitate conoscenze e perché il plugin/shortcode lo userò solo io è quella di fare un plugin e usarlo come uno shortcode; mi sono posto il problema si testarlo: zippo il php, lo carico come plugin, e lo uso come shortcode; semplice ma quante volte dovrò fare questa operazione prima di centrare l’aspetto grafico che voglio ? e allora ho pensato di installare un editor, ma poi mi serve anche il web server in locale e il db (io uso sqlserver); mi sono cadute le braccia ma mi sono fatto forza e ho iniziato … sono andato a cercare i files per installare l’editor … ma il link non funzionava … e li mi è preso l’attacco isterico … poi sono andato alla w3w, li c’è l’editor, il db ma non fa esattamente quello che voglio fare io, e ho cominciato rimuginare come fregarlo
ma ero stanco e ho rimandato tutto a domani.
in basso a destra c’è il mio sito (quello su cui gioco) ci sono pochi dati, entra nei vini scegliendoli tutti
Buonasera Sandro, mi dispiace moltissimo per la situazione e spero finisca tutto per il meglio.
Per quanto concerne il plugin, no. Una volta attivato, puoi modificarlo tramite FTP, senza ricaricarlo o riattivarlo. Al massimo ti darà errore WP e controllerai dai log cosa succede. Oppure, nel file wp-config.php, aggiungi queste righe di codice subito dopo o subito prima “Finito, interrompere le modifiche! Buon blogging.”:
define( 'WP_DEBUG', true ); //Abilita il debug
define( 'WP_DEBUG_DISPLAY', true ); //mostra gli errori frontend
define( 'WP_DEBUG_LOG', true ); //crea un file log contenente gli errori
Nel frattempo, vedo questa settimana se riesco a farti una bozza di plugin con uno shortcode. Vediamo se riesco ad aiutarti a dovere 🙂
Salve,
ho letto solo ora la tua eMail: mi sono preso qualche giorno per sgombrare le mente, riprenderò a “lavorare” lunedì
Grazie di tutto. Ho letto 20 articoli ma … ho tre oggetti grafici (una etichetta, un inputText, un bottone) e due non grafici (estrazione di un dato e richiamo di una altra pagina), bene dagli articoli non si evince
da nessuna parte se posso farli lavorare assieme: come posiziono l’etichetta prima del punto di input, e come posiziono il bottone sotto a destra; per non parlare del peso dei caratteri, dello spessore dei bordi, di dei colori di sfondo: cose banali ma che in un moderno sito non ti dico che siano fondamentali, ma se li trascuri danno una nota stonata: l’autore parla di parallasse e di che effetti stupendi è in grado di produrre, di mappe di Google, di fantastiche gallerie e poi non spiega come far diventare Bold il testo di una label !!! Certo non si può partire sempre da zero, occorre dare per scontato che chi legge qualcosa la sappia e se non la sa, se la vada a cercare. Il problema è che questo famigerato punto 0 è sempre altrove. Mi ricorda il primo errore che ho commesso: l’utilizzo di due Temi nello stesso sito perché non è scritto a caratteri cubitali e in grassetto da nessuna parte che puoi utilizzare solo un tema alla volta. E che il tema è fondamentale, non perché è bello, ma perché se non è in grado di fare quello che ti aspetti, te lo dovrai fare da solo. A mano. Paturnie, le mie, perché non ho voglia di rimettermi a studiare PHP … e invece mi tocca.
Ciao Agostino,
come ti avevo detto avevo intenzione di fermarmi per qualche giorno per recuperare un po’ di equilibrio mentale. Ovviamente non ci sono riuscito, è il mio carattere, quando ho qualcosa che mi gira per la testa fino a quando non la risolvo continuo a rimuginarci sopra; così mi sono fatto uno schema di come, secondo le mie conoscenze, avrebbe dovuto funzionare il mio plugin, e pian pianino ho cominciato ad implementarlo leggendo il manuale messo a disposizione da WP: si capiscono solo le cose se sai già e poi le omissioni, le infomazioni date per scontate … I pochi passi che ho fatto li ho fatti leggendo il codice di plugin che sono riuscito a trovare in giro per la rete. Mi sono allora ricordato che in un articolo c’era scritto, più o meno vado a memoria, prima di mettervi ad implementare un nuovo plugin cercate nel repository se qualcuno ha scritto qualcosa di simile e, se lo trovate, usatelo come base …
Ho cercato questo Repository (repository dei sorgenti dei plugIn) ma non sono riuscito a trovarlo, sai dove posso trovarlo ? qual’è l’URL
E questa domanda è l’ultima domanda che ti vorrei porre: sei stato fin troppo gentile e non voglio assolutamente approfittarmene e diventare molesto
Grazie ancora per la tua disponibilità ( e se passi da Roma, se ti va, fammelo sapere … l’email ce l’hai, il telefono praticamente è sempre spento, lo uso pochissimo)
Ciao Sandro, rispondo a entrambi i commenti qui, in modo da aiutarti anche in questo.
Per il resto, nessun fastidio, anzi! Sono sempre disponibile ad aiutare 🙂 . Spero di esserti stato utile, davvero. Semmai venissi a Roma, offrirei io un caffè a te 😀
Bootstrap !!! ma pensa un po’ , non hai idea di quante volte sono stato sul punto di studiarlo ma poi le librerie DevEx (che uso dagli anni 90) facevano, e fanno, anche quello che fa Bootstrap che mi è sembrato inutile studiarlo.
Per quanto riguarda il repository non credo sia quello che mi hai indicato; era più una raccolta di prove, di esempi da cui pescare. Come quasi sempre succede su internet, il repository salterà fuori quando non mi servirà più (sempre che esista).
Conosci https://www.syncfusion.com/ebooks ? è un interessante collezione di pubblicazioni introduttive liberamente scaricabili, tra le quali c’è BootStrap … comincerò da li
Grazie ancora.
Non ne sapevo l’esistenza. Sicuro mi ci farò un giro 🙂
Ciao,
io invece si: è stato il primo articolo che Google mi ha proposto; ero giovane, pieno di speranze, ma inesperto: mi ci sono fiondato e non ho capito molto; forse dovrei tornare a rileggerlo. Nel frattempo sono ritornato a spulciare Elementor e ho trovato il widget Modulo che ha una struttura proprio simile a quella che mi serve: ammette n righe ed un bottone; per n=1 è proprio quello che mi serve; ma (c’sempre un ma) a questo punto salta fuori il peccato originario di WP: nulla si sa sa degli oggetti che costituiscono i widget; mi spiego meglio: ho una etichetta, un punto di input e un bottone, il widget mi permette di posizionarli, dimensionarli, fare insomma tutto quello che voglio (https://stranamente.net/aula/); devo solo catturare sull’OnClick del bottone il numero ch’è stato digitato, poi apro la connessione, lancio una ricerca, filtro i risultato, se trovo il numero … ha pagato il biglietto; fatto, facile, pulito. E allora ? come cazzzzo si chiama il punto di input ? Non c’è scritto da nessuna parte, perché WP non è per tutti ma per solo pochi intimi. Ho chiamato l’assistenza, non mi rispondono: ero bello e giovane e ora sono brutto e vecchio, no … peggio, sono italiano nooo peggio; quando ho acquisto Elementor l’ho fatto acquistare a mio figlio che ha un altro nome e un altro Ip; loro rispondono solo a quel nominativo con quell’IP tutti gli altri sono cattivoni che cercano informazioni senza averne diritto. Ho fatto questo errore da principiante anche con SiteGround, gli scritto, gli ho spiegato, e mi hanno messo in condizione di correggere. Con Elementor niente da fare…. capisci ? Mi manca solo in nome dei quel oggetto (che sarà Pippo(0).text, Pippo(1).text, è una matrice perché ce ne possono essere N. Giorni buttati per una cazzata del genere … Il primo che mi dice che WP è …. vabbè
Grazie pr esserti ricordato di me
Ciao Sandro,
il widget modulo di Elementor non è altro che un form di contatto. Quindi field -> send request (ho fatto anche una prova in quella pagina). Per fare quello che ti serve, ad oggi, devi avere una tabella in un database contenente tutti i numeri del biglietto, dopodiché fare una query che vada a ricerca se quel numero esiste. Se non esiste, rimandi all’acquisto. Non è una questione di come si chiama l’input, ma quale numero ricercare nel DB.
Sicuro ci farò un articolo su ciò, tra qualche giorno, se gli impegni permetteranno (così magari aiuto come si deve tutti coloro che cercano una risposta rapida su questo, compreso te). Non ho risposto subito in quanto sono in trasloco, altrimenti avrei risposto subito, chiedo venia.
La tabella con i numeri dei biglietti venduti ce l’ho, è la prima cosa che ho fatto, l’ho ricavata dall’email che PayPal invia a venditore ed acquirente; te lo volevo suggerire io di fare un articolo; purtroppo io ho nella testa lo schema logico di ASP.NET MVC C# JS (che poi non è tanto distante da quello di WP: HTML fornisce l’intelaiatura per costruire la pagina; all’interno di questa intelaiatura vengono posizionati gli oggetti, ottenendo il disegno statico della pagina; la pagina diventa dinamica, lato client, mediante JS (o qualche altro linguaggio da questo derivato), lato server mediante C# o VB nel caso di ASP, con PHP nel caso di WP; verrebbe fuori un articolo molto interessante, fuori dai soliti schemi.
Trasferimento … non ti invidio, sono stati l’incubo della mia vita, ho vissuto per anni con la valigia vicino alla porta.
A presto.
Ciao
Sono nuovo di wp e devo fare una cosa complicata: mi serve un nuovo campo nelle variazioni di un prodotto woocommerce, che non deve comparire nel frontend al cliente, ma deve essere inviato per email solo a un particolare vendor in base alla sua categoria.
Il prodotto è composto di 3 parti di venditori diversi e dokan fa le giuste email. Devo solo aggiungere quel campo che vorrei creare all’email di particolari venditori di una certa categoria.
Non so se mi sono spiegato e se sei disposto a consigliarmi come scrivere il codice.
Grazie
Ciao Claudio, potresti spiegarti meglio? Intendi una specie di email triggerata dalla categoria del venditore?