Appunti di sviluppo WordPress – Loop principale e Loop Secondari

Il Loop di WordPress Principale vs. i Loop Secondari (personalizzati).

Prima di chiarire alcuni punti sul Loop di WordPress bisogna fare una distinzione. La prima distinzione da fare, anche a livello di funzioni e di variabili disponibili, è quella tra il Loop principale, che viene popolato dalla stringa di URL della pagina richiamata, e i Loop secondari (o personalizzati) che si impostano indipendentemente dalla gerarchia dei template (quindi fuori dai paremetri della URL di pagina).

La URL che genera il Loop Principale

La prima cosa che dobbiamo tenere a mente quando scriviamo codice per visualizzare articoli è il semplice fatto che WordPress inizializza l’oggetto di tipo WP_Query() di una pagina/post richiesta/o tramite i parametri della URL richiamati nel browser Web.

L’oggetto WP_Query() creato automaticamente da Wp viene inizializzato parsificando l’URL richiamato. Ad es.:

htttp://www.miosito.it/category/terza/

WordPress parsifica l’URL htttp://www.miosito.it/category/terza/ traformandolo in una funzione di inizializzazione:

$wp_query = new WP_Query("category_name=terza");

La variabile $wp_query non la vediamo e non la troviamo direttamente esplicitata nel codice standard. Essa costituisce l’oggetto di riferimento per il Loop principale di WordPress.

Il tutto avviene in modo trasparente per l’utente. Ma anche un pò ambigua per lo sviluppatore. Per cui bisogna tenere a mente le diverse variabili di riferimento quando andiamo a modificare le Query rispettivamente per il Loop Principale ($wp_query) piuttostochè per i Loop Secondari ($my_query, o altri nomi personalizzati).

Il debug

Prima di incominciare a fare esperimenti è utile conoscere i valori delle variabili che andiamo a modificare. Un paio di righe di codice permettono di visualizzare il loro contenuto.

Con il seguente comando stampiamo a video la richiesta al DATABASE generata dalla Query.

echo $GLOBALS['wp_query']->request;

Il seguente codice stampa a video l’array contenente i parametri della query con i quali è stato inizializzato l’oggetto del tipo $WP_query()

var_dump($wp_query->query); // Query principale (da URL pagina)

oppure se il Loop è personalizzato nell’oggetto creato da noi $my_query

var_dump($my_query->query); // Query secondaria personalizzata

Le variabili “nascoste”

$wp_query

Come spiegato precedentemente la variabile $wp_query oggetto di tipo WP_query()  è un oggetto a cui di solito ci si riferisce “implicitamente” nella scrittura del Loop principale:

$wp_query  //Oggetto WP_Query() generato dalla URL di pagina

Se fosse esplicitata la creazione delloggetto $wp_query la sintassi sarebbe questa:

$wp_query = new WP_Query("PARAMETRI DEDOTTI DALLA URL DI PAGINA");

$query

La variabile $query è una proprietà dell’oggetto WP_Query(), che una volta creato registra al suo interno la query string, in forma di Array, con il quale è stato inizializzato.

$wp_query->query;

E’ utile per il debug e per modificare una Query recuperandone i valori correnti. Creando una nuova Query con la quale sovrascrivere la prima Query.

$args = (array_merge($my_query->query, array('orderby' => 'title','order' => 'ASC')));

$my_query = new WP_query($args);

In questo caso si sono riordinati per titolo in modo crescente (A-Z) i post presenti dentro $my_query.

In termini  di processo funzionale si è recuperata la querystring $my_query -> query. Successivamente si è creato un nuovo Array fondendo insieme i parametri recuperati dall’oggetto $my_query con nuovi parametri che inseriamo a mano.

L’array risultante lo utilizziamo come parametro nella creazione di un nuovo oggetto WP_Query() con il quale andiamo a sovrascrivere il vecchio oggetto $my_query.

Le funzioni

new WP_query($args)

Questa è la funzione principe per i Loop Secondari (personalizzati).

In realtà è la funzione di inizializzazione di un nuovo Oggetto WP_query passando argomenti personalizzati nell’Array variabile $args (nome a scelta).

$args = "category_name=terza&posts_per_page=6"
$my_query = new WP_query($args);

the_post()

La funzione fa parte del Loop e rende disponibili gli oggetti post (articolo) per ogni ciclo del Loop

the_post();

equivale a

$wp_query -> the_post();

Nel caso dei Loop personalizzati (secondari)

$my_query -> the_post();

Il Loop principale

Il Loop principale di WordPress.

<?php
    while ( have_posts() ) : the_post();

    //Qui accade la magia - il centro del Loop
    //Combina i template_tags 

    endwhile; // End of the loop.
?>

Il Loop principale sopra si riferisce implicitamente all’oggetto $wp_query.

Il codice sopra equivale al sottostante

<?php
    while ( $wp_query -> have_posts() ) :$wp_query -> the_post();

      //Qui accade la magia - il centro del Loop
      //Combina i template_tags

     endwhile; // End of the loop. 
?>

Loop secondari personalizzati

Un Loop secondario personalizzato si imposta e si inizializza da zero creando un oggetto della classe WP_Query().

$my_query = new WP_query("category_name=terza&posts_per_page=6");

Con questo codice abbiamo creato un oggetto nuovo $my_query, della classe WP_query(),  che contiene SOLO i post (articoli) della categoria “terza” e in numero di 6 (6 articoli).

<?php
   while ( $my_query -> have_posts() ) : $my_query -> the_post(); ?>
   
    //Qui accade la magia - il centro del Loop
    //Combina i template_tags

    <a href="<?php the_permalink();?>">)<?php the_title();?></a>

 <?php endwhile; // End of the loop ?>

Questo codice prende l’oggetto $my_query e, per ogni ciclo del Loop, rende disponibile la proprietà the_post() all’interno del loop. Il Loop cicla finchè non ci sono post disponibili while ( $my_query -> have_posts()).

Per ogni ciclo questo particolare Loop (personalizzato) stampa a video il titolo di ogni articolo

<?php the_title(); ?>

e lo rende linkabile

<?php the_permalink(); ?>.

La sintassi è quella tipica del markup HTML mischiata al codice PHP.

<a href="<?php the_permalink(); ?>">)<?php the_title(); ?></a>

Casi specifici

Qui elenchiamo diverse situazioni ricorrenti e relative soluzioni.

Modificare una Query secondaria con l’aggiunta/modifica di nuovi parametri

Capita a volte di dover modificare una Query già presente su un tema/template preesistente. La Query non è una Query principale $wp_query ma è una query personalizzata che ritroviamo e individuiamo nel codice.

//individuiamo la Query presente nel codice prima dell'esecuzione del Loop

$query_secondaria;

// Uniamo la querystring originaria con i parametri nuovi in un unico nuovo array $args tramite la funzione PHP array_merge()

$args = (array_merge($query_secondaria->query, array('orderby' => 'title','order' => 'ASC')));

// creiamo un nuovo Oggetto WP_query inizializzato con i nuovi parametri e sovrasciviamo la Quesry originaria.

$query_secondaria = new WP_query($args);

// adesso il codice del Loop può essere eseguito tranquillamente nel codice successivo

Modificare la Query principale di WordPress

WordPress mette a disposizione delle funzioni “sicure” per modificare la Query principale prima della esecuzione del Loop.

Vi sono tre metodi per modificare la Query principale.

HOOK:: pre_get_posts

function exclude_category( $query ) {
              if ( $query->is_home() && $query->is_main_query() ) {
                  $query->set( 'cat', '-1,-1347' );
               }
        }

add_action( 'pre_get_posts', 'exclude_category' );

From Mr.Wolf Designer .COM on Facebook

http://www.karinavonforell.com/2015/11/08/karina-von-forell-torna-in-mare/

Posted by Mr. Wolf Designer .COM on Mercoledì 18 novembre 2015

Fotografie aziendali e riprese video – Cliente: Just Knock

Logo Just Knock

 

 

Servizio FotograficoVideo realizzati

– SERVIZIO FOTOGRAFICO

Fotoshooting realizzato in esterni e fotografie realizzate in studio

Il servizio fotografico in esterni è stato realizzato, per il cliente Just Knock, ai piedi dei grattacieli in acciaio e cristallo nel nuovo quartiere “Garibaldi – Porta Nuova”. La commissione era quella di realizzare delle foto accattivanti che potessero mettere in risalto la mission e l’attività della giovane, ma dinamica, start up milanese che si occupa di mettere in contatto il mondo delle grandi aziende con chi vuole proporre una idea al mercato ma non sa a chi rivolgersi. E come muoversi per aprire le porte giuste.

Fotografie in studio per l’homepage del sito web. Accattivanti ma che allo stesso tempo potessero illustrare il funzionamento facile e intuitivo della piattaforma web del sito stesso. Così come la compatibilità per i device mobili quali tablet e smartphone.

– VIDEO REALIZZATI

Ripresa e editing video e audio per i canali web e social del sito (YouTube, Facebook, etc.).

Video realizzati per Just Knock con riprese e montaggio di interviste aziendali. L’attività ha previsto le riprese in sede del cliente e dei partner dell’azienda con camera e microfono separato. Il montaggio successivo ha compreso una pulizia del video con Color Correction e Color Grading, l’aggiunta delle grafiche aziendali e la realizzazione delle titolazioni con relative animazioni. Le tipologie di intervista variano dal montaggio alternato a più voci alla videointervista semplice.
Riprese camera DSRL + Editing audio e video.


Just Knock! Il talento dei giovani

Pubblicato il 08 feb 2015
Video-intervista fatta fatta ai ragazzi del MasterBrand dello IED di Milano (Istituto Europeo di Design). “Da dove nasce la tua passione per la creatività? Come ti nascono le idee? Ti capita di pensare a progetti per le aziende che ami? Quanto possono contribuire i giovani all’innovazione delle aziende? Come giudichi il fatto che le aziende possano valutarti per le tue idee?”


Just Knock! – Il parere dei manager (trailer) – Adidas

Pubblicato il 19 mag 2015
Trailer dell’intervista a Silvia Marchisio, Sr. Talent & Recruiting Manager South Europe – adidas Italy S.p.A.


Just Knock! – Abbiamo bussato alla porta di Artsana – Trailer

Pubblicato il 26 feb 2015
Just Knock! – Il parere dei manager – Trailer della video-intervista a Michele Catelli, presidente Artsana Group.

Vedi anche il sito web di Just Knock!.

[wpbtags]

Assistenza sito web: Cliente – “Gli Argonauti – psicoanalisi e società”

Assistenza sito web - homepage de "Gli Argonauti"

Assistenza sito web: Cliente – “Gli Argonauti – psicoanalisi e società” – (Rivista). Per la rivista online de “gli Argonauti” assistenza e manutenzione di un sito già on-line. Disponibilità di intervento e di supporto nonchè diversi Interventi ad hoc per singoli obiettivi e manutenzione generica.

Assitenza sito web – Sviluppo e di PAGINA PRIVATA protetta da PASSWORD per la sezione dei collaboratori della redazione della rivista. Area dalla quale giornalisti e contributor possono inviare gli articoli alla redazione per la successiva pubblicazione.

Assitenza sito web – installazione/setup plug-in e configurazione operativa per modulo questionario somministrato via mail ai partecipanti di un convegno di psicologia tenutesi dal vivo.

Assistenza sito web – Configurazione e tune-up per un sitema di plug-in Newsletter collegato alle utenze email già presenti e raccolte all’interno dela paittaforma CMS WordPress.

Assistenza sito web – configurazione/ ricerca per moduolo di avvisi in sovraimpressione (overlay) per la homepage.

Assistenza sito web – per lo sharing Social dei singoli articoli con pulsanti “condividi”

Assistenza sito web – Configurazione e installazione di widget social per Facebook con estratti di articoli dall’account/pagina Facebook de “Gli Argonauti”.

Infine la manutenzione viene effettuata a seconda delle esigenze del cliente fornendo una disponibilità di intervento sulle problematiche che possono insorgere durante il ciclo di vita del sito stesso. Interventi come pulitura del codice delle pagine modificate tramite editor o riscrittura delle diverse aree.

Inoltre direttamente sulla pagina Facebook Fanpage della rivista ho installato e configurato delle Facebook Apps per renderla maggiormente user friendly e come spazio banner/link per mettere in evidenza determinati tipi di contenuto quali la pagina degli Abbonamenti o iniziative speciali.

Vedi il sito web de “Gli Argonauti”.

[wpbtags]

Siti web responsivi – Sito web Karina Von Forell

Siti web responsivi - Karina Von Forell - HomepageSiti web responsivi – Sito web completo per il cliente Francesco Ghenzer, capitano della barca da regata Karina Von Forell.

La barca, storico scafo nelle competizioni veliche italiane e internazionali, ha subito di recente un completo refitting sia dell’attrezzatura che delle opere morte per attrezzarsi come barca transoceanica e da crociera “sportiva”.

I siti web responsivi si adattano alla dimensione dello schermo nel quale vengono visualizzati. In questo caso è stato realizzato un sito web responsivo che mettesse in evidenza le caratteristiche di tutta questa trasformazione.

Progettata da Doug Peterson classe ’77. Nel sito potete trovare tutta la storia di questa barca da regata, dagli albori fino al refitting come imbarcazione d’altura. Un pò di storia anche italiana e internazionale con le sue sorelle Azzurra, Miranda, Yena e il Moro di Venezia. Qualche aneddoto su Cino Ricci e sulla vela nazionale. Per passare poi al suo restauro completo, senza tradire lo spirito con cui è nata.

La storia di Karina Von Forell e il restauro

Siti web responsivi - Karina Von Forell - Randa e mare

Oggi è una imbarcazione competitiva e sportiva ma anche comoda e accogliente. Ideale per passare giorni divertenti nelle acque del Mediterraneo e oltre. Quello che è diventata oggi lo trovate qui.

La barca dentro e fuori

Siti web responsivi - Karina Von Forell - interniNon poteva mancare una sezione sullo spirito con il quale si naviga insieme a Karina Von Forell. Attitudine per l’avventura, il mare puro e autenticamente sportiva. Attenta allo spirito ecosostenibile non disdegna il bel vivere, il buon cibo, buon vino e passare serate in compagnia tra mare e cielo, sotto le stelle.

Diversamente confortevole

Siti web responsivi - Karina Von Forell - RefittingInoltre sapere chi è il capitano, le formule con cui ci si imbarca

Il comandante e le cose da sapere

Formula “tutto incluso”

Siti web responsivi - Karina Von Forell - Borse navyInfine un regalo per chi vuole salire per primo su Karina. Nel restauro e refitting di tutta l’attrezzatura velica sono state realizzate con il materiale di tessuto originale delle originali sacche da marinaio. Originali firmate “Karina Von Forell”. Sono tutte numerate e in quantità limitata. Esclusive fino ad esurimento per chi prenota una vacanza a bordo di almeno 7 giorni. Chiedere sempre se vi sono ancora disponibilità!

Le sacche dell’equipaggio

I siti web responsivi si adattano bene ai diversi dispositivi mobili, pur rimanendo di impatto nella frontpage.

La grafica è moderna e con pochi fronzoli per rislutare fresca e immediata. I colori sono quelli vicini al mondo nautico e delle avventure in mare. E’ stato realizzato con WordPress, quindi la gestione è totalmente sotto il controllo dei pannelli del backend di WordPress, ampiamente espandibile con plug-in e modificabile nelle pagine e negli articoli pubblicati. Aggiunti i pulsanti di “condivisione social”, per condividere i contenuti con i social network. Le gallery possono essere create e gestite in numerosi set con o senza LIGHTBOX.

Vai al sito web: KarinaVonForell.com.

[wpbtags]

Siti web responsivi-Mr.Wolf Designer.Com finalmente online

Realizzazione siti web responsivi con layout flessibile.

FireShot Screen Capture #043 - 'Mr Wolf Designer - Siti web responsivi' - www_mrwolfdesigner_comSiti web responsivi per Iphone, tablet, smartphone.

Quante volte vi sarà capitato di notare che il sito web nel quale state navigando con il vostro Iphone o Ipad venga visualizzato fuori dallo schermo?

Oppure il vecchio sito web non si adatta alla navigazione con i cellulari e gli smartphone?

Questo perchè il vostro sito web probabilemente non è adatto alla visualizzazione con i device mobile. In poche parole non è RESPONSIVO.

Cosa sono i SITI WEB RESPONSIVI?

Semplicemente quanto detto sopra. I siti web NON responsivi sono quelli progettati senza un layout flessibile che si “adatta” al mutare delle dimensioni dello schermo del  cellulare, dello smartphone, del tablet che lo visualizza.

I siti web RESPONSIVI al contrario sono stati creati in modo tale da avere un layout che si adatta alle differenti dimensioni della maggior numero di apparecchi mobili in circolazione.

Un sito web responsivo si adegua inoltre anche al cambio di visualizzazione degli smartphone e tablet quando li si ruotano da una visualizzazione orizzontale ad una verticale, e viceversa.

Inoltre utilizzo la piattaforma CMS WordPress, costantemente aggiornata, espandibile e personalizzabile con temi, widget, plug-in e estensioni modulari.

Il principale vantaggio di usare una piattaforma di gestione dei contenuti è quello di rendere il cliente completamente autonomo per l’aggiornamento degli articoli, delle nuove pagine, nell’inserimento di nuove gallery fotografiche e in generale nella gestione del sito e/o del Blog e della parte di aggiornamento novità/notizie.

Infine il cliente ottiene uno strumento altamente professionale e gestibile in proprio senza dipendere esclusivamente dal creatore del sito web. Ulteriore vantaggio è il fatto che la piattaforma WordPress è altamente ottimizzata per il posizionamento sui motori di ricerca, il webmarketing, il S.E.O. (Search Engine Optimization), il S.E.M. (search Engine Marketing) e la codivisione tramite i Social Media (Facebook, Instagram, Twitter, Pinterest, Linkedin, etc).

Vedi anche il nuovo Mr Wolf Designer .COM.

[wpbtags]