Articoli

EDIT DEL 10 GIUGNO 2019: Il motivo principale per cui ciò accadava era perchè i register_meta venivano chiamati all’interno di un file che veniva caricato solo nel backend. Rendendoli disponibili anche in front funziona tutto a dovere.

Lavorando nella creazione di nuovi blocchi per il mio plugin Yasr, ho perso quasi due pomeriggi interi su quello che poi ho scoperto essere un bug di Gutenberg , (il link è al duplicato, ma credo che vada più diretto al punto) che purtroppo ho scoperto solo dopo che avevo già realizzato il mio workaround: l’ho trovato infatti quando stavo creando una nuova issue su GitHub.

Andiamo con ordine: avevo bisogno di pescare un valore tra i postmeta e utilizzarlo all’interno del pannello del blocco che stavo creando.
L’attributo era quindi così:

Alla prima apertura di Gutenberg viene correttamente pescato, e a un determinata azione dell’utente, (quando inserisce un nuovo voto) il valore nel database viene aggiornato.
Quello che succedeva però era che, nonostante il valore nel database fosse correttamente aggiornato, quando il post veniva salvato o aggiornato, il valore per qualche oscuro motivo veniva ritornato come undefined . Questo succede solo quando il post viene aggiornato o salvato: ricaricando la pagina veniva visualizzato quello corretto.

Il mio workaround, che poi ho scoperto è stata anche la soluzione suggerita nell’issue su GitHub, è stata quella di lavorare con due attributi diversi

Il secondo attributo è uno di quelli di default di Gutenberg, che salva i dati come commenti del blocco, e che funziona senza noie.
Se il post è nuovo, o se non ha lo shortcode salvato, overallRatingAttribute sarà sempre 0. In questo caso, assegno a overallRatingAttribute il valore di overallRatingMeta.
Se, invece, nel post è gia presente lo shortcode , overallRatingMeta non verrà mai utilizzato.

Spero che questa cosa possa aiuta a risparmiare tempo a chi come me deve leggere o manipolare dei post meta all’interno di Gutenberg.

Come configurare una VPS con Let's Encrypt

Prima di addentrarmi nei dettagli tecnici su come configurare una VPS con Nginx + Php + WordPress + LetsEncrypt con EasyEngine, è bene fare una breve punto sul perchè e quando una macchina VPS è consigliabile in luogo di un hosting condiviso. Se hai già acquistato la tua macchina VPS puoi saltare direttamente al tutorial.

VPS: cos’è.

L’acronimo Vps sta per Virtual Private Server. Non è nient’altro che una macchina virtuale che gira su un server fisico, le cui risorse sono interamente dedicate ad un unico utente.
Le VPS si dividono generalmente in Managed e Unmanaged, ovvero gestite e non gestite.
Le macchine Managed prevedono assistenza tecnica che si dedicherà in toto alla gestione della VPS, all’utente finale spetterà solo la gestione del proprio sito internet/portale, proprio come un qualunque hosting.
Le macchine Unmanaged sono prive di assistenza tecnica, e spetterà all’utente quindi installare e gestire il sistema operativo, così come configurare tutti i servizi necessari al funzionamento del sito web (installazione server web, server di posta, php, etc.etc.)
Ovviamente, le macchine Unmanaged hanno costi molto minori rispetto alle Managed, costi spesso inferiori persino ai normali piani hosting.

Mi conviene passare ad una VPS?

Ora la domanda che ti stai ponendo è proprio questa.
Hai usato tutti gli accorgimenti del caso eppure il tuo sito in WordPress continua ad essere lento, troppo lento per poter essere usato decentemente.

Se hai a disposizione molto budget e ti puoi permettere una soluzione Managed assolutamente si.
Se invece il tuo budget è più ridotto, dipende dal tuo livello di skill nell’uso del terminale e di Linux. Perchè, se è vero come è vero che è possibile configurare una VPS perfettamente funzionante con pochi semplici comandi tramite EasyEngine, è altrettanto vero che, se per qualsivoglia motivo ci si dovesse trovare nella situazione in cui si deve risolvere qualcosa a mano sulla macchina, senza un minimo di know-how, la faccenda potrebbe trasformarsi in un incubo.

Configuriamo la nostra VPS con EasyEngine

Prima una doverosa considerazione: al momento della stesura di questo articolo (Febbraio 2018) EasyEngine supporta solo queste versioni di distro Linux:
Ubuntu: versioni 12.04 , 14.04, 16.04
Debian: versioni 7 e 8.

Centos purtroppo non è supportata e non sembra rientrare nei piani dei sviluppatori.

Una volta loggati come root tramite SSH, inserire questo comando:

Con questi due comandi, non stiamo facendo altro che scaricare il file presente all’indirizzo rt.cx/ee e creare un file nella directory dove ci si trova (la home dell’utente root) chiamato ee.

EasyEngine è ora installato!

Per la creazione del tuo primo sito in WordPress non devi far altro che dare questo comando:

Ora EasyEngine scaricherà, installerà e configurerà tutto il necessario sulla tua VPS affinche il sito sia visualizzabile su NOMESITO.IT (ovviamente il dmominio deve puntare alla macchina) ed in più installerà anche WordPress! Non male eh?

Di default viene usato php 5.6…Stabile, ma ormai lo è molto anche php 7, quindi perche non usarlo? Alla creazione del sito basta aggiungere –php7, in questo modo:

Ora WordPress gira su php 7!
Ma siamo nel 2018, ormai ogni sito sulla terra DEVE avere un certificato SSL, e visto che con Let’s Encrypt è possibile averne uno gratuito…installiamolo aggiungendo il comando –letsencrypt!

In questo caso accertatevi che il dominio punti già alla vostra macchina o il certificato non potrà essere rilasciato.