La velocità di un sito web è diventata, negli ultimi anni, uno degli elementi tecnici più importanti da ottimizzare, al fine di offrire all’utente un’esperienza semplice e soddisfacente.
Le ricerche degli ultimi mesi hanno dimostrato che un minimo rallentamento incontrato nel caricamento spinge gli utenti ad abbandonare la pagina web e causa danni economici alla piattaforma. L’utente ha bisogno di avere immediatamente a disposizione ciò che cerca, altrimenti sarà invogliato a cambiare pagina e recarsi su quella di un concorrente; soprattutto per chi gestisce un eCommerce è fondamentale tenere conto di questo aspetto al fine di regalare la migliore esperienza all’utente e fare in modo che le ricerche aumentino giorno dopo giorno.

Alcune delle ricerche più recenti hanno affermato che la velocità di un sito web aperto da Google dovrebbe essere di circa 1,65 secondi; i siti web che si aprono e caricano in questo breve tempo sono in genere posizionati ai primi posti della Serp, da qui la necessità di capire come velocizzare il sito internet per renderlo più accessibile per utenti e motori di ricerca.

Il sistema cache

La memoria cache consente di rendere molto più veloce il caricamento dei contenuti presenti all’interno di una pagina web, così da ridurre al minimo il tempo di attesa dei visitatori, regalando loro la miglior esperienza di navigazione.
Ma cosa sono le cache? Si tratta di elementi fisici presenti all’interno del webserver all’interno del quale vengono salvate copie fisiche delle pagine web da presentare ai visitatori. È, nel complesso, un aspetto molto importante da tenere in considerazione perché i siti web tendono, soprattutto negli ultimi anni, a cambiare molto rapidamente la loro interfaccia grafica e i loro contenuti.

Si incappa nel rallentamento qualora, dopo numerosi cambiamenti della pagina web, il browser passi in rassegna le pagine esistenti, controllando se le stesse siano ancora presenti sul web e controllando tutti gli aggiornamenti che si sono susseguiti. In genere si tende ad indicare una data di scadenza per ogni elemento contenuto all’interno della pagina web, così che le cache si rigenerino dopo un certo lasso di tempo.

Per velocizzare il tempo di caricamento sulla pagina web un intervento positivo consiste, innanzitutto, nell’impostare le cache delle risorse statiche, ossia quelle che tendono a cambiare il meno possibile, soprattutto se viste in confronto ai testi. In questo modo si suggerisce al browser che non è necessario controllare ogni volta l’esistenza e l’aggiornamento di questi elementi, velocizzando il tempo di caricamento della pagina.

Hosting o server

Si sente spesso parlare di tempo di risposta del server in relazione al tempo che trascorre dal momento in cui il client richiede l’accesso ad una pagina e quello in cui il server lo concede. Questa tempistica è influenzata da due diversi aspetti, il funzionamento del server stesso e il grado di ottimizzazione del sito web che deve essere caricato. A proposito del server è giusto puntualizzare che non si tratta di qualcosa che possiamo direttamente controllare o gestire, poiché occuparsi di ciò è compito del proprio provider di web hosting.

Ci si può però occupare della scelta di un veloce hosting, prestando attenzione alle performance che promette di offrire sia nei luoghi che sono dotati di data center, sia di quelli che non lo posseggono.
I fornitori di web hosting rappresentano, di fatto, un buon aiuto per velocizzare la crescita del proprio sito web ed è per questo che scegliere quello giusto per le proprie esigenze rappresenta un elemento fondamentale. È importante trovare il giusto equilibrio tra il prezzo che si vuole spendere e le prestazioni che si vogliono ottenere.

 

Ottimizzazione delle immagini

Una buona gestione dell’aspetto visual, ossia delle immagini, permette di ridurre i tempi e i problemi legati alla performance del sito web. Soprattutto nei siti di grandi dimensioni è fondamentale gestire e ottimizzare al meglio questo aspetto, al punto tale che si riuscirà ad avere un risultato migliorato dell’80%.

Ottimizzare le immagini significa, di fatto, fare economia a proposito del loro peso: dunque, il primo consiglio è quello di ridurre al minimo il numero di foto, video, grafici e infografiche, da aggiungere solo nel caso in cui siano veramente necessari.
Nel caso in cui le immagini siano necessari, come nei blog di cucina o di viaggi, è importante impegnarsi affinché la pagina non si appesantisca troppo: è dunque buona norma scegliere il formato che meglio si adatta alle esigenze del sito web, evitando di inserire immagini compresse o di bassa qualità che penalizzerebbero l’esperienza dell’utente. I formati che meglio rappresentano un buon punto di incontro tra economia delle immagini ed esperienza utente sono PNG, JPEG e WebP.

JQuery e Javascript

JQuery è una libreria di Javascript che permette a chi si occupa del design di un sito web di sviluppare la propria pagina web in modo semplice ed intuitivo, ma senza rinunciare ad alcun elemento.
Javascript, invece, è un linguaggio di scripting usato solitamente per inserire elementi interattivi all’interno delle pagine web.

È fondamentale prestare massima attenzione a questi aspetti perché gli elementi inseriti tramite JQuery o Javascript possono rallentare la performance della pagina web, obbligando gli utenti ad attendere per vedere la versione completa ed interattiva del sito.

Che cos’è un tema child WordPress e come crearlo

 

un Tema child WordPress, di cosa stiamo parlando ?

ti sei mai trovato nella situazione di aver aggiornato il tema e tutte le tue modifiche sono andate perse ? No ? beh sono contentissimo purtroppo a me tantissimo tempo fa è capitato e ho dovuto rifare tutto da capo o ho preso i file di backup (ora non ricordo come ne sono uscito vincitore)

Creare un tema child, ci permette di modificare e/o aggiungere funzionalità al tuo tema (parent) senza dover sovrascrivere alcun file, andando a salvaguardare i nostri lavori durante la fase di aggiornamento.

Quando dobbiamo creare un tema child WordPress?

beh la risposta è semplice, bisogna sempre creare un tema child WordPress i motivi quali sono :

  • se dobbiamo lavorare sui file del tema.
  • se stiamo dando un progetto a un nostro cliente/committente bisogna attenerci sempre ai standard, sia se in futuro ci riandremo a lavorare sia se lasceremo il progetto a dei nostri collaboratori.
  • se stiamo lavorando in Team, per permettere a tutti noi di evitare errori.

Come si crea un tema child WordPress?

Andiamo nella cartella wp-content/themes, e creiamo una cartella che avrà come nomenclatura il nome del tema (parent) + la string ‘-child’, esempio se dobbiamo creare un tema child per il famoso tema Enfold andremo a generare una cartella “enfold-child”.

successivamente andremo nella cartella appena generata e creeremo un file style.css  che conterrà il seguente codice:

/*
 Theme Name: Enfold Child
 Theme URI: #nogo
 Description: Enfold Child Theme
 Author: Il tuo nome e cognome
 Author URI: https://example.com/
 Template: enfold
 Version: 1.0.0
 Tags: tag che possono essere applicati al tuo tema separati da virgola
 Text Domain: enfold-child
*/

successivamente creeremo un file denominato function.php e al suo interno andremo a scrivere il seguente codice:

<?php
 add_action( ‘wp_enqueue_scripts’, ‘enfold_child’ );
 function enfold_child’ () {
    wp_enqueue_style( ‘enfold-child-style’, get_template_directory_uri() . ‘/style.css’ );

 }
?>

bene ora basterà andare nella sezione aspetto -> tema e attivare il nostro theme child appena creato.

Iniziamo dalla soluzione 😎

function aeroporti_custom_post() {
  // creo e registro il custom post type
  register_post_type( 'aeroporto', /* nome del custom post type */
    // definisco le varie etichette da mostrare nei menù
    array('labels' => 
        array(
          'name' => 'aeroporti', /* nome, al plurale, dell'etichetta del post type. */
          'singular_name' => 'aeroporto', /* nome, al singolare, dell'etichetta del post type. */
          'all_items' => 'Tutti gli aeroporti', /* testo nei menu che indica tutti i contenuti del post type */
          'add_new' => 'Aggiungi nuovo', /*testo del pulsante Aggiungi. */
          'add_new_item' => 'Aggiungi nuovo aeroporto', /* testo per il pulsante Aggiungi nuovo post type */
          'edit_item' => 'Modifica aeroporto', /*  testo modifica */
          'new_item' => 'Nuovo aeroporto', /* testo nuovo oggetto */
          'view_item' => 'Visualizza aeroporto', /* testo per visualizzare */
          'search_items' => 'Cerca aeroporto', /* testo per la ricerca*/
          'not_found' =>  'Nessun aeroporto trovato', /* testo se non trova nulla */
          'not_found_in_trash' => 'Nessun aeroporto trovato nel cestino', /* testo se non trova nulla nel cestino */
          'parent_item_colon' => ''
        ), /* fine dell'array delle etichette del menu */
        'description' => 'Lista aeroporti', /* descrizione del post type */
        'public' => true, /* definisce se il post type sia visibile sia da front-end che da back-end */
        'publicly_queryable' => true, /* definisce se possono essere fatte query da front-end */
        'exclude_from_search' => false, /* esclude (false) il post type dai risultati di ricerca */
        'show_ui' => true, /* definisce se deve essere visualizzata l'interfaccia di default nel pannello di amministrazione */
        'query_var' => true,
        'menu_position' => 8, /* definisce l'ordine in cui comparire nel menù di amministrazione a sinistra */
        'menu_icon' => get_stylesheet_directory_uri() . '/img/mia-icona.png', /* imposta l'icona da usare nel menù per il posty type */
        'rewrite'   => array( 'slug' => 'aeroporti', 'with_front' => false ), /* specificare uno slug per leURL */
        'has_archive' => true, /* definisci se abilitare la generazione di un archivio (tipo archive-aeroporto.php) */
        'capability_type' => 'post', /* definisci se si comporterà come un post o come una pagina */
        'hierarchical' => false, /* definisci se potranno essere definiti elementi padri di altri */

        /* la riga successiva definisce quali elementi verranno visualizzati nella schermata di creazione del post */

        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
    ) /* fine delle opzioni */
  ); /* fine della registrazione */
}

// Inizializzo la funzione
add_action( 'init', 'aeroporti_custom_post');

Cosa sono i Custom Post Type (CPT) ?

i custom post type o meglio definiti CPT sono dei tipi di post, vengono storicizzati nella classica tabella wp_posts; di default WORDPRESS ne ha 2 le pagine e gli articoli, ma grazie alla funzione sopra elencata ne possiamo aggiungere a nostro piacimento a seconda del progetto da realizzare.

Dove va inserito il codice sopra riportato, che serve alla creazione di un Custom Post Type in WordPress ?

Il codice inserito nel file functions.php del nostro template, o io consiglio sempre di creare un plugin per WordPress e includere il nostro script al suo interno per separare la logica dal tema.

Come aggiungere le categorie ad un CPT (Custom Post Type) WordPress

Di default i custom post type non hanno il supporto per la categorizzazione, nel caso in cui volessimo aggiungerlo possiamo farlo in questo modo:

add_action( 'init', 'category_aeroporto' );
function category_aeroporto() {
  register_taxonomy_for_object_type( 'category', 'aeroporto' );
}

e ora per mostrarli ai nostri utenti ?

Bene, abbiamo creato la parte relativa al back end, una volta che abbiamo inserito i nostri aeroporti, possiamo passare al front end in modo da mostrare i post inseriti.

Adesso all’interno del nostro tema creiamo un file che chiamiamo aeroporto.php (il nome del file deve essere quello del custom post type) e ci incolliamo il codice sottostante.

Come mostrare i post di un custom post type di WordPress

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

<?php get_header(); ?>    

<?php 
  // Loop aeroporti  
  $custom_query_args = array(
    'post_type' => 'aeroporto',
    'posts_per_page' => 1,
    'orderby' => 'menu_order',
    'order' => 'ASC',
  );
  $custom_query = new WP_Query( $custom_query_args );
?>
<?php if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <?php the_post_thumbnail(); ?>
    <?php the_excerpt();?>
  </article>
<?php endwhile; endif; wp_reset_postdata(); ?>

<?php get_sidebar(); ?>               

<?php get_footer(); ?>

 

Se pensate di non riuscire a realizzare queste modifiche o avete bisogno di fare altre personalizzazioni potete contattarmi per una consulenza, se la mole di lavoro è tanta possiamo concordare insieme una formula per un Contratto di assistenza e manutenzione sito web, per il periodo necessario a soddisfare tutte le vostre richieste.

 

Contact Form 7, Come reindirizzare l’utente alla thank you page ?

Nelle versioni precedenti di Contact Form 7, bastava inserire questa dicitura :

on_sent_ok: "location = 'http://www.yourdomain.com/thank-you/';" nella Tab "Additiona Setting"

Come potete notare dall’immagine sottostante, purtroppo con le ultime versioni è stato deprecato questo hook.

e quindi, Come reindirizzare l’utente alla thank you page ?

basta inserire questo codice o nell’header o nel footer del vostro thema, consigliamo di usare sempre un theme child.

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
 var location = '';
 switch(event.detail.contactFormId) {
  case '#contactFormId':
  location = 'http://www.yourdomain.com/thank-you/';
  break;
 }
}
</scrit>

Per essere + puliti e seguire le regole di wordpress e del codex vi consiglio di inserire questo codice nel file function.php:

add_action( 'wp_footer', 'mycustom_wp_footer' );

function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( event ) {
  var location = ''; 
  switch(event.detail.contactFormId) { 
    case '#contactFormId': 
    location = 'http://www.yourdomain.com/thank-you/'; 
    break;
  }
}, false );
</script>
<?php
}

Se pensate di non riuscire a realizzare queste modifiche o avete bisogno di fare altre personalizzazioni potete contattarmi come programmatore wordpress freelance o se la mole di lavoro è tanta concordare insieme per un Contratto di assistenza e manutenzione sito web, per il periodo necessario a soddisfare tutte le vostre richieste

Come Installare WordPress Multisite
Come Installare WordPress Multisite

Come Installare WordPress Multisite

Cosè WordPress Multisite??

In poche parole WordPress Multisite è una modalità specifica di WordPress con la quale possiamo amministrare più siti in una sola installazione. La sua utilità ci permette di gestisce un network di siti, utilizzando un solo e unico databases.

Configuriamo e Abilitiamo Wordpress Multisite??

wp-config

wp-config

Andiamo ad editare il nostro file wp-config.php

/* Multisite */
 define(‘WP_ALLOW_MULTISITE’, true);

Ok abbiamo dichiarato a WordPress che da ora in poi dovrà aspettarsi un network di siti collegati ad un unico database, mi raccomando disabilitiamo tutti i plugin prima di procedere.

Ora accediamo al menù “Strumenti, configurazione della rete”, ora dobbiamo scegliere  se la rete di blog dovrà essere pubblicata come sottodomini o sottocartelle del dominio principale, questa decisione sarà permanente e non potrà essere cambiata in futuro, quindi prestiamo massima attenzione.

Nel caso abbiamo scelto l’opzione ‘sottodomini’, possiamo creare una wildcard DNS nel pannello di controllo DNS del dominio
“*.dominio.com CNAME dominio.com” in modo tale che qualsiasi sottodominio si andrà a creare sia già immediatamente accessibile.

WORDPRESS-WP_db-ESTRARRE-INSERIRE-MODIFICARE-ED-ELIMINARE

WORDPRESS-WP_db-ESTRARRE-INSERIRE-MODIFICARE-ED-ELIMINARE

WORDPRESS WP_DB ESTRARRE, INSERIRE, MODIFICARE  ED ELIMINARE

Impariamo a interagire con il nostro database, collegato aal nostro CMS WordPress.

Estrarre dei dati

facciamo dei piccoli esempi di estrazione dei dati, incominciamo con l’estrazione dei primi dieci link, salvati nel nostro database:

$myLink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");

passiamo ora all’estrazione die primi dieci articoli salvati nella tabella wp_posts:

$myPosts = $wpdb->get_row("SELECT * FROM $wpdb->postss WHERE link_id = 10");

ora estraiamo i primi 5 articoli in bozza dell’utente con ID = 5

$fivesdrafts = $wpdb->get_results(
	"
	SELECT ID, post_title
	FROM $wpdb->posts
	WHERE post_status = 'draft'
		AND post_author = 5
	"
);

foreach ( $fivesdrafts as $fivesdraft )
{
	echo $fivesdraft->post_title;
}

Inserimento dei dati

Creiamo un post e andiamo a inserire solo de valori titolo e contenuto (attenzione per rendere il post attivo bisogna compilare almeno i campi di default obbligatori da wordpress, il codice sottostante è puramente un esempio):

$wpdb->insert(
	'wp_posts',
	array(
		'post_title' => 'title',
		'post_comtent' => 'content'
	),
	array(
		'%s',
		'%s'
	)
);
$wpdb->update(
	'tabella',
	array(
		'colonna1' => 'valore1',	// stringa
		'colonna2' => 'valore2'	// intero (numero)
	),
	array( 'ID' => 1 ),
	array(
		'%s',	// valore1
		'%d'	// valore2
	),
	array( '%d' )
);

Aggiornamento dei dati

Aggiornauna riga, dove l’ID è 1, il valore della prima colonna è una stringa ed il valore della seconda colonna è un numero:

$wpdb->update(
	'tabella',
	array(
		'colonna1' => 'valore1',	// stringa
		'colonna2' => 'valore2'	// intero (numero)
	),
	array( 'ID' => 1 ),
	array(
		'%s',	// valore1
		'%d'	// valore2
	),
	array( '%d' )
);

Eliminiamo dati nel nostro database

eliminiamo un record con ID = 1 in una determinata tabella

$wpdb->delete( 'tabella', array( 'ID' => 1 ) );
WordPress wp_query, interagire con i nostri articoli o pagine

wordpress wp_query, interagire con i nostri post

WP_Query è una classe definita in wp-includes/query.php che gestisce le complesse operazioni di richieste di articoli (o pagine) di un blog WordPress; Ci permette di interagire con i dati salvati nel nostro database, possiamo visualizzare, inserire, modificare o eliminare qualsiasi dato presente nel nostro database MySQL.

Interagire con WP_Query

esempio classico di utilizzo della nostra classe wp_query, vediamo come estrarre post di una determinata categoria, poniamo per esempio che vogliamo tirarci fuori i post della categoria con ID = 3.

<?php

  $args = array(
           'cat' => '3'
          );
  // La Query
  $the_query = new WP_Query( $args );

  // Il Loop
  while ( $the_query->have_posts() ) :
	$the_query->the_post();
	echo '<li>' . get_the_title() . '</li>';
  endwhile;

  // Ripristina Query & Post Data originali
  wp_reset_query();
  wp_reset_postdata();
?>

bene abbiamo i nostri post categorizzati, non sto qui a dirvi che possiamo passare tantissimi criteri di ricerca al nostro oggetto $wp_query, vi lascio il documento ufficiale dove poter vedere parametri e metodi che io attualmente non vi ho elencato.

come-installare-wordpress
come-installare-wordpress

Come installare WordPress

Anche te vuoi aprirti un blog?? vuoi entrare nella rete e comunicare con i tuoi nuovi fan o seguaci??
bene allora prima di tutto dobbiamo acquistare uno spazio web attraverso i moltissimi fornitori italiani o esteri (a seconda delle tue preferenze), una volta acquistato il servizio di hosting possiamo incominciare a installare wordpress sul nostro spazio appena acquistato.

Se vuoi imparare come installare WordPress sullo spazio Web che hai acquistato, bisogna incominciare nel collegarci al sito Internet di WordPress e scaricare il pacchetto d’installazione del CMS sul proprio computer premendo sul pulsante Scarica WordPress.

Una volta scaricato colleghiamoci nel pannello di controllo del nostro hosting per creare il nostro databases MySQL ,al termine dell’operazione, visualizzeremo una pagina riepilogativa con il nome del database, il nome utente dell’amministratore e l’indirizzo del hosting MySQL.

Ora torniamo nel pacchetto wordpress-x.x.x-it_IT.zip appena scaricato, decomprimiamolo e il suo contenuto lo carichiamo via FTP sullo spazio web del nostro hosting; dopodiché rinominiamo il file wp-config-sample.php in wp-config.php e con un editor di testo o il nostro IDE preferito andiamo a modificare le seguenti righe di codice:

wp-config

wp-config

bene dall’immagine superiore vediamo quali sono le righe di codice da modificare:

  • Sostituisci il valore database_name_here nella stringa define(‘DB_NAME’, ‘database_name_here’); con il nome del database del tuo hosting.
  • Sostituisci il valore username_here nella stringa define(‘DB_USER’, ‘username_here’); con il nome utente dell’amministratore del database.
  • Sostituisci il valore password_here nella stringadefine(‘DB_PASSWORD’, ‘password_here’); con la password che hai scelto durante la creazione del database MySQL.
  • Sostituisci il valore localhost nella stringa define(‘DB_HOST’, ‘localhost’); con l’indirizzo del database MySQL.

Al termine dell’operazione, collegati all’indirizzo http://www.miosito.com/ e partirà la procedura di configurazione iniziale di WordPress nella quale dovrai inserire il titolo del blog, il nome utente e la password che vuoi usare per scrivere ed il tuo indirizzo email.

Adesso, clicca prima su Installa WordPress e poi su Collegati per accedere alla schermata di login di WordPress, effettua l’accesso al blog usando i dati scelti in precedenza e avrai finalmente accesso al pannello di controllo di wordpress, dove potrai configurare il tuo blog appena installato.