Nasce l’esigenza di attivare dei widget a seguito dell’autenticazione utente. Per questa esigenza ci viene in soccorso il plugin Widget Logic, disponibile al link https://wordpress.org/plugins/widget-logic/.
Attivando il plugin verrà attivata dentro ogni widget un campo per la logica aggiuntiva.
All’interno del campo testo sarà possibile tramite del codice stabilire la logica di visualizzazione
is_user_logged_in() –> il widget è visibile solo per utenti autenticati
!is_user_logged_in() –> il widget è visibile solo per utenti non autenticati
Vuoi verificare la versione php usata in wordpress ? Niente di più facile. Installa il plugin Display PHP Version disponibile al link https://wordpress.org/plugins/display-php-version o ricercalo tramite la funzione disponibile nella sezione Aggiungi nuovo plugin e accedi alla sezione in Sintesi presente nella dashboard e avrai modo di verificare l’esatta versione di PHP.
Solitamente uso WordPress come CMS, lo trovo comodo e semplice da usare qualora non siano presenti particolare esigenze da parte del cliente. Da poco tempo ho scoperto la presenza della APi Rest pienamente supportate dalla versione 4.7, il che fa si che WordPress possa essere utilizzato come backend per architetture a servizi di tipo REST. In breve WordPress permette di definire agevolmente endpoint in grado di ricevere e inviare oggetti di tipo JSON (JavaScript Object Notation). JSON è un formato leggero per l’interscambio di dati, più leggero dell’XML e ciò ha fatto che l’architettura REST con JSON si presenti come alternativa ad una architettura SOAP con XML. Per chi volesse maggiori dettagli su REST rimando ai ragazzi di HTML.IT
Nel mio caso l’esigenza è quella di realizzare un app android che acceda ai contenuti gestiti su una piattaforma WordPress e ne consenta la lettura e/o la modifica.
In questo articolo vedremo come realizzare un servizio REST. Per fare questo occorre realizzare un plugin wordpress, definire l’endpoint da gestire e la logica con cui gestire le chiamate ricevute.
Andiamo per ordine, per realizzare il plugin occorre caricare un file php nella cartella /wp-content/plugins. Tale file deve presentare una intestazione particolare, che consenta a WordPress di individuarlo e di consentire tramite la dashboard di attivarlo. Di seguito un esempio:
PHP
1
2
3
4
5
6
7
8
9
<?php
/*
Plugin Name: Valerio Finazzo Plugin
Plugin URI: http://www.valeriofinazzo.it/
Description: Plugin per la lettura dei posts
Author: Valerio Finazzo
Version: 1.0
*/
?>
Se avete fatto correttamente, accedendo alla sezione plugin di WordPress trovere il plugin da attivare
A questo punto attiviamo il file ma non essendoci alcun endpoint definito non vedremo effetti. Per definire l’endpoint ci avvaliamo della direttiva add_action che consente di stabilire le regole di invocazione del servizio e la logica con cui restituire il dato
Il comando add action invoca la direttiva register_rest_route che stabilisce l’url da invocare, il metodo HTTP con cui invocare il servizio e la funzione da invocare). Nell’esempio fornito il plugin risponde alla chiamata GET del servizio http://www.valeriofinazzo.it/wp-json/vfplugin/v1/posts/.
Il metodo cakllback prevede di chiamare la routine api_get_posts che recupera tutti gli articoli presenti nel sito serializzati in formato json
1
2
3
4
5
6
7
functionapi_get_posts($data){
$all_posts=array();
$posts=get_posts();
if(empty($posts))
returnnull;
return$posts;
}
La serializzazione viene gestita in modo trasparente da WordPress. Pertanto il servizio è attivo e non è richiesto altro.
Usando questo sito si accetta l'utilizzo dei cookie anche di terze parti. Per maggiori informazioni vi invitiamo a leggere l'informativa.AccettoLeggi
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.