.. _gnrextra/wordpress/wp_intro:
Introduzione
============
Il package WORDPRESS consente di integrare Genropy con Wordpress, allo scopo di gestire i post (sia gli articoli di default di Wordpress che i *custom post types*) e la relativa sincronizzazione con l'applicativo. Sarà quindi possibile pubblicare record di tabelle sotto forma di post su Wordpress, o ricevere e pubblicare prodotti su Woocommerce, o ancora compilare le form dei record direttamente da un sito anziché dall'applicativo.
Includere il package WORDPRESS nel progetto
-------------------------------------------
Il package WORDPRESS è incluso nel «gnrextra» di Genropy, e può quindi essere facilmente incluso in tutti i progetti semplicemente modificando il file instanceconfig.xml come segue::
Una volta lanciata una *gnrdbsetup* per generare la struttura del database troveremo le impostazioni del package nella voce di menu ``Wordpress``
Prerequisiti
------------
Il package utilizza per la comunicazione tra sito WP e applicativo la **libreria Python wordpress-api**. Per installarla::
pip install wordpress-api
Sarà inoltre necessario installare e configurare il plugin `Wordpress REST API – OAuth 1.0a Server `_ per l'autenticazione OAuth1 o in alternativa `WordPress REST API Authentication `_ per la Basic Authentication.
.. hint::
L'utilizzo dell'autenticazione *OAuth1* è da ritenersi preferibile alla *Basic Authentication*, tuttavia la seconda è l'unica che consente la pubblicazione di immagini via REST API.
Non obbligatoriamente, ma per migliorare la gestione del sito si consiglia l'utilizzo dei seguenti plugin:
- `Custom Post Type UI `_ per la gestione dei *custom post types*
- `Advanced Custom Fields `_ per la gestione dei *campi personalizzati* e `ACF to REST API `_ per l'utilizzo dei campi personalizzati nella REST API
- `Contact form 7 to api + Basic auth `_ o `Contact Form to Any API `_per l'integrazione con Contact Form 7 e la ricezione dei dati dei form direttamente in un applicativo Genropy
Impostazioni del sito
---------------------
Non ci sono particolari requisiti sul sito Wordpress, ma in caso di problemi nell'upload delle immagini è possibile che si debba intervenire sul file ``wp-config.php`` aggiungendo questa istruzione per ovviare ai problemi di upload di particolari media::
//DP Allow uploads from REST APIs
define( 'ALLOW_UNFILTERED_UPLOADS', true);
.. sectionauthor:: Davide Paci