{"id":77235,"date":"2024-04-08T19:28:13","date_gmt":"2024-04-08T18:28:13","guid":{"rendered":"https:\/\/kinqsta.com\/it\/?p=77235&#038;preview=true&#038;preview_id=77235"},"modified":"2024-04-09T12:14:23","modified_gmt":"2024-04-09T11:14:23","slug":"endpoint-api-rest-personalizzato-wp","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/","title":{"rendered":"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati"},"content":{"rendered":"<p><a href=\"https:\/\/kinqsta.com\/it\/blog\/cosa-e-wordpress\/\">WordPress<\/a> \u00e8 uno dei <a href=\"https:\/\/kinqsta.com\/it\/blog\/content-management-system\/\">sistemi di gestione dei contenuti<\/a> (CMS) pi\u00f9 diffusi al mondo, che aiuta le piccole e grandi imprese a impostare e creare varie forme di contenuti per i siti web. Ma WordPress si \u00e8 evoluto al di l\u00e0 del semplice supporto ai contenuti dei blog tradizionali, soprattutto grazie alla sua API REST.<\/p>\n<p>L&#8217;<a href=\"https:\/\/kinqsta.com\/it\/blog\/rest-api-wordpress\/\">API REST di WordPress<\/a> collega WordPress ad altre applicazioni web esterne. Facilita una comunicazione pi\u00f9 accessibile e aiuta a creare esperienze web coinvolgenti che si integrano perfettamente con la piattaforma CMS.<\/p>\n<p>Questa API utilizza degli endpoint per recuperare e manipolare i contenuti di WordPress come oggetti JSON. Grazie a questi endpoint, \u00e8 possibile creare, leggere, aggiornare e cancellare (CRUD) i contenuti di WordPress da remoto, senza dover accedere all&#8217;account <a href=\"https:\/\/kinqsta.com\/it\/blog\/amministrazione-wordpress\/\">admin di WordPress<\/a>, garantendo flessibilit\u00e0 ed estendendo le funzionalit\u00e0 di WordPress al di l\u00e0 delle sue caratteristiche principali.<\/p>\n<p>Questa guida spiega cos&#8217;\u00e8 l&#8217;API REST di WordPress, i suoi vantaggi, come estende le funzionalit\u00e0 di base di WordPress e come creare, registrare e accedere a un endpoint personalizzato.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Prerequisiti<\/h2>\n<p>Per seguire questo tutorial, servono:<\/p>\n<ul>\n<li>Conoscenza delle API REST<\/li>\n<li>Un sito WordPress (si pu\u00f2 configurare <a href=\"https:\/\/kinqsta.com\/it\/docs\/hosting-wordpress\/wordpress-come-iniziare\/nuovo-sito\/\">facilmente con la dashboard di MyKinsta<\/a>)<\/li>\n<li>Conoscenza dell&#8217;uso di <a href=\"https:\/\/kinqsta.com\/it\/blog\/cosa-e-wordpress\/\">WordPress<\/a> e <a href=\"https:\/\/kinqsta.com\/it\/blog\/cosa-e-php\/\">PHP<\/a><\/li>\n<\/ul>\n<h2>L&#8217;API REST di WordPress<\/h2>\n<p>L&#8217;API REST di WordPress \u00e8 una potente interfaccia che permette di interagire con i siti WordPress in modo programmatico utilizzando i metodi <a href=\"https:\/\/kinqsta.com\/it\/argomenti\/codici-di-stato-http\/\">HTTP<\/a> standard.<\/p>\n<p>Le sue funzionalit\u00e0 predefinite includono l&#8217;accesso e la manipolazione di vari tipi di dati di WordPress, come post, pagine, commenti, utenti e tassonomie, in un formato JSON strutturato. Si possono anche eseguire azioni CRUD in remoto sui contenuti.<\/p>\n<p>Tuttavia, il vero valore dell&#8217;API REST di WordPress risiede nella sua estensibilit\u00e0 attraverso endpoint personalizzati. \u00c8 possibile creare endpoint personalizzati per adattare l&#8217;API a esigenze specifiche, come l&#8217;integrazione di funzionalit\u00e0 aggiuntive, servizi di terze parti o strutture di dati uniche. Questa flessibilit\u00e0 permette di costruire applicazioni altamente personalizzate e ricche di funzionalit\u00e0 su WordPress.<\/p>\n<h2>Come pianificare il proprio endpoint API personalizzato<\/h2>\n<p>Pianificare la struttura e lo scopo dei propri endpoint personalizzati \u00e8 fondamentale per uno sviluppo API efficiente. Gli endpoint personalizzati in base alle proprie esigenze specifiche richiedono un&#8217;attenta considerazione per garantire una funzionalit\u00e0 ottimale. La pianificazione strategica facilita la scalabilit\u00e0 e l&#8217;adattabilit\u00e0, rendendo gli endpoint a prova di futuro per soddisfare i requisiti aziendali in evoluzione.<\/p>\n<p>Pianificare gli endpoint delle API personalizzate prima dell&#8217;implementazione \u00e8 di grande aiuto:<\/p>\n<ul>\n<li><strong>Chiarezza della funzione dell&#8217;endpoint<\/strong>: la pianificazione dell&#8217;endpoint chiarisce la funzione specifica dell&#8217;endpoint, i tipi di dati previsti e l&#8217;utilizzo.<\/li>\n<li><strong>Coerenza ed efficienza nello sviluppo<\/strong>: la pianificazione garantisce anche la coerenza nell&#8217;uso degli endpoint, dei tipi di risposta e della formattazione, migliorando l&#8217;interazione con l&#8217;API. Inoltre, conoscere lo scopo dell&#8217;API consente una corretta implementazione, riducendo i tempi di sviluppo e il rischio di errori.<\/li>\n<li><strong>Scalabilit\u00e0 e adattabilit\u00e0<\/strong>: definire le esigenze del proprio endpoint aiuta a renderlo a prova di futuro, in modo che possa adattarsi alle mutevoli esigenze e ai requisiti aziendali senza richiedere una riprogettazione completa.<\/li>\n<li><strong>Sicurezza<\/strong>: una corretta pianificazione dell&#8217;endpoint aiuta a determinare la necessit\u00e0 di autenticazione per accedere o manipolare i dati. L&#8217;accesso ai contenuti tramite API a volte non richiede l&#8217;autenticazione dell&#8217;utente. Tuttavia, per i contenuti con dati sensibili o non autorizzati, \u00e8 essenziale definire i requisiti di sicurezza e implementare misure come l&#8217;autorizzazione e i controlli di accesso per garantire la sicurezza dei dati.<\/li>\n<\/ul>\n<p>Le sezioni pratiche che seguono spiegano come creare un endpoint personalizzato disponibile su <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> per recuperare le testimonianze dei clienti da un sito con database WordPress.<\/p>\n<p>Dopo aver inviato una richiesta, l&#8217;endpoint restituisce un oggetto JSON contenente informazioni sulle testimonianze presenti sul nostro sito WordPress, come definito nella funzione di callback.<\/p>\n<p>Andiamo!<\/p>\n<h2>Creare un tipo di post personalizzato per l&#8217;endpoint<\/h2>\n<p>Per prima cosa, dobbiamo creare un tipo di post personalizzato.<\/p>\n<ol start=\"1\">\n<li>Andiamo all&#8217;<strong>Editor dei file del tema<\/strong> dalla sezione <strong>Aspetto<\/strong> del pannello di <a href=\"https:\/\/kinqsta.com\/it\/blog\/amministrazione-wordpress\/\">amministrazione di WordPress<\/a>.<\/li>\n<li>Apriamo il file <strong>function.php<\/strong> del tema e aggiungiamo il seguente codice:\n<pre><code class=\"language-php\">function create_custom_testimonial_type() {\n    register_post_type('testimonials', array(\n        'labels' =&gt; array(\n            'name' =&gt; 'Testimonials',\n            'singular_name' =&gt; 'Testimonial',\n        ),\n        'public' =&gt; true,\n        'has_archive' =&gt; true,\n        'show_in_rest' =&gt; true, \/\/ This enables REST API support\n    ));\n}\nadd_action('init', 'create_custom_testimonial_type');<\/code><\/pre>\n<p>Questo codice crea un <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" target=\"_blank\" rel=\"noopener noreferrer\">tipo di post<\/a> personalizzato &#8220;Testimonials&#8221; e abilita il supporto dell&#8217;API REST di WordPress (<code>'show_in_rest' =&gt; true<\/code>). Il codice <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_action\/\" target=\"_blank\" rel=\"noopener noreferrer\">add_action hook<\/a><\/code> chiama la funzione di callback <code>create_testimonial_type<\/code> e la lancia durante l&#8217;esecuzione.<\/p>\n<p>Possiamo personalizzare le etichette e gli argomenti rimuovendoli o aggiungendoli per soddisfare le nostre esigenze.<\/li>\n<li>Clicchiamo su <strong>Aggiorna file<\/strong> per salvare le modifiche.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/creating-custom-testimonial-post-type.jpg\" alt width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Creare un tipo di post <code>custom_testimonial<\/code>.<\/figcaption><\/figure>\n<p>Aggiorniamo la dashboard per vedere l&#8217;opzione <strong>Testimonials<\/strong> aggiunta alla bacheca di WordPress.<\/p>\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/post-type-created.jpg\" alt=\"Schermata che mostra il nuovo tipo di post Testimonial creato\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Il tipo di post Testimonials appena creato.<\/figcaption><\/figure><\/li>\n<li>Creiamo un nuovo post contenente testimonianze facendo clic su <strong>Testimonials &gt; Aggiungi nuovo post<\/strong>. Possiamo utilizzare il blocco <strong>Pullquote<\/strong>. A seconda di come presenteremo la nostra testimonianza, potremo utilizzare anche altri blocchi.<\/li>\n<\/ol>\n<p>Ecco due esempi di testimonianze create con i blocchi Pullquote:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/two-testimonials-added.jpg\" alt=\"Screenshot delle due testimonianze create con il blocco pullquote\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Testimonianze appena create.<\/figcaption><\/figure>\n<h2>Registrare un endpoint personalizzato in WordPress<\/h2>\n<p>La registrazione di un endpoint personalizzato lo rende disponibile all&#8217;uso tramite l&#8217;API REST. Questo comporta l&#8217;utilizzo della funzione <code>register_rest_route<\/code>, la chiamata al metodo <code><a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/rest_api_init\/\" target=\"_blank\" rel=\"noopener noreferrer\">rest_api_init<\/a><\/code> e la creazione di un metodo di callback che verr\u00e0 invocato quando il percorso verr\u00e0 chiamato.<\/p>\n<p>Incolliamo il seguente codice nel file <strong>function.php<\/strong> del tema:<\/p>\n<pre><code class=\"language-php\">add_action( 'rest_api_init', 'register_testimonial_rest_route' );\n \nfunction register_testimonial_rest_route(){\n\tregister_rest_route(\n\t\t'custom\/v2',\n\t\t'\/testimonials',\n\t\tarray(\n\t\t\t'methods' =&gt; 'GET',\n\t\t\t'callback' =&gt; 'get_testimonials',\n\t\t)\n\t);\n}<\/code><\/pre>\n<p>Questo <code><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_rest_route\/\" target=\"_blank\" rel=\"noopener noreferrer\">register_rest_route()<\/a><\/code> accetta tre parametri:<\/p>\n<ul>\n<li><strong>Route Namespace<\/strong> (<code>$route_namespace<\/code>): questa \u00e8 la prima parte del segmento URL e deve seguire lo schema vendor\/numero di versione. Il vendor rappresenta il fornitore o lo slug del tema. Il namespace aiuta a differenziare gli endpoint e aiuta i clienti a contattare l&#8217;assistenza per l&#8217;endpoint personalizzato. Questo tutorial utilizza il namespace <code>custom\/v2<\/code>.<\/li>\n<li><strong>L&#8217;URL di base <\/strong> (<code>$route<\/code>): segue il namespace ed \u00e8 un URL mappato su un metodo. Possiamo registrare pi\u00f9 di un singolo endpoint per il nostro percorso. Per questo tutorial, utilizzeremo la route <code>\/testimonials<\/code>, che indica all&#8217;endpoint di recuperare le testimonianze.<\/li>\n<li><strong>Opzioni dell&#8217;endpoint (<code>$args<\/code>)<\/strong>: si tratta di un array contenente il metodo HTTP utilizzato per chiamare la route e la funzione di callback che l&#8217;endpoint invocher\u00e0 quando invier\u00e0 una richiesta. Analizzeremo questa funzione di callback nella prossima sezione.<\/li>\n<\/ul>\n<p>Infine, prendiamo nota dell&#8217;indirizzo dell&#8217;endpoint. Il formato di un endpoint \u00e8 <code>site-address\/wp-json\/namespace\/route<\/code>. Quindi, in questo esempio, l&#8217;endpoint sar\u00e0 <code>https:\/\/www.staging.kidspartysanctuary.co.uk\/wp-json\/custom\/v2\/testimonials<\/code>.<\/p>\n<h2>Implementare la funzione di callback per l&#8217;endpoint<\/h2>\n<p>Dopo aver creato il tipo di post personalizzato e aver registrato l&#8217;endpoint personalizzato, il passo successivo \u00e8 scrivere la funzione di callback. Questa funzione di callback viene invocata ogni volta che si accede all&#8217;endpoint.<\/p>\n<ol start=\"1\">\n<li>Dichiariamo la funzione di callback <code>get_testimonials<\/code> utilizzando il codice sottostante:\n<pre><code class=\"language-php\">function get_testimonials(){\n\n}<\/code><\/pre>\n<\/li>\n<li>Inizializziamo un array di testimonial vuoto per memorizzare i dati delle testimonianza WordPress recuperate:\n<pre><code class=\"language-php\">$testimonials = array();<\/code><\/pre>\n<\/li>\n<li>Impostiamo un array chiamato <code>$args<\/code> con i parametri di query per una chiamata a <code><a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP_Query<\/a><\/code> chiamata.\n<pre><code class=\"language-php\">$args = array(\n    'post_type' =&gt; 'testimonials', \/\/specifies you want to query the custom post type   \n'testimonial',\n    'nopaging' =&gt; true,  \/\/ no pagination, but retrieve all testimonials at once\n),<\/code><\/pre>\n<\/li>\n<li>Creiamo un&#8217;istanza della classe <code>WP_Query<\/code> che riceve l&#8217;array <code>$args<\/code>, esegue una query basata sui parametri specificati e memorizza i risultati della query WordPress nella variabile <code>$query<\/code>.\n<pre><code class=\"language-php\">$query = new WP_Query($args)<\/code><\/pre>\n<\/li>\n<li>Scriviamo un&#8217;istruzione condizionale per verificare se ci sono post di testimonianze. Quindi, creiamo un ciclo <code>while<\/code> per iterare i post e restituire i post <code>title<\/code> e <code>content<\/code> delle testimonianze.\n<pre><code class=\"language-php\">if ( $query-&gt;have_posts() ) {\n        while ( $query-&gt;have_posts() ) {\n            $query-&gt;the_post();\n            $testimonial_data = array( \/*an array that stores the title \nand content of every post*\/\n            'title' =&gt; get_the_title(),\n                'content' =&gt; get_the_content(),\n                \/\/ Add other fields as needed\n            );\n            $testimonials[] = $testimonial_data; \n        }\n        wp_reset_postdata(); \/* restores $post \nglobal to the current post to avoid any conflicts in subsequent queries*\/\n    }\n    return rest_ensure_response( $testimonials ); \/*ensures response is \ncorrectly set as a response object for consistency*\/<\/code><\/pre>\n<p>Ecco il codice completo:<\/p>\n<pre><code class=\"language-php\">function get_testimonials() {\n$testimonials = array();\n$args = array(\n    'post_type' =&gt; 'testimonials',\n    'nopaging' =&gt; true,\n);\n$query = new WP_Query( $args );\nif ( $query-&gt;have_posts() ) {\n    while ( $query-&gt;have_posts() ) {\n        $query-&gt;the_post();\n        $testimonial_data = array(\n            'title' =&gt; get_the_title(),\n            'content' =&gt; get_the_content(),\n            \/\/ Add other fields as needed\n        );\n        $testimonials[] = $testimonial_data;\n    }\n    wp_reset_postdata();\n}\nreturn rest_ensure_response( $testimonials );\n}<\/code><\/pre>\n<\/li>\n<li>Testiamo l&#8217;endpoint utilizzando <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Postman<\/a> per verificare se possiamo accedere ai nostri dati.\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/testing-with-postman.png\" alt=\"Schermata di una chiamata API Postman andata a buon fine all'endpoint personalizzato testimonial\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Postman mostra una risposta di successo.<\/figcaption><\/figure>\n<p>Possiamo eseguire il test anche utilizzando un browser. Accediamo all&#8217;endpoint inserendo l&#8217;URL <code>site-domain\/wp-json\/custom\/v2\/testimonials<\/code> nella barra degli indirizzi del browser.<\/p>\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/03\/testing-with-browser.png\" alt=\"Schermata dell'accesso corretto all'endpoint in un browser web\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Il risultato del browser che appare quando si accede all&#8217;endpoint.<\/figcaption><\/figure><\/li>\n<\/ol>\n<h2>Riepilogo<\/h2>\n<p>Questo tutorial ha spiegato come implementare un endpoint personalizzato dell&#8217;API di WordPress. Per consentire agli utenti di accedere e interagire con i dati del database di WordPress, basta solo registrare il percorso che implementa una funzione di callback.<\/p>\n<p>Volete sapere come ottimizzare WordPress per la vostra attivit\u00e0? Kinsta offre numerose opzioni avanzate nell&#8217;ambito del nostro <a href=\"https:\/\/kinqsta.com\/it\/hosting-wordpress\/\">servizio di hosting WordPress gestito<\/a> per aiutarvi a soddisfare le vostre esigenze aziendali. Un&#8217;opzione importante \u00e8 il <a href=\"https:\/\/kinqsta.com\/it\/docs\/hosting-wordpress\/plugin-kinsta-mu\/\">plugin Kinsta MU (must-use)<\/a>, che gestisce e implementa il caching per il vostro sito per ridurre la latenza e migliorare le prestazioni. <a href=\"https:\/\/kinqsta.com\/it\/registrazione\/wp\/\">Provate Kinsta oggi stesso<\/a>!<\/p>\n<p><em>Cosa ne pensate dello sviluppo di endpoint API WordPress personalizzati? Ne avete mai progettato qualcuno? Ci piacerebbe conoscere le vostre esperienze. Condividetele con noi nella sezione commenti qui sotto.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress \u00e8 uno dei sistemi di gestione dei contenuti (CMS) pi\u00f9 diffusi al mondo, che aiuta le piccole e grandi imprese a impostare e creare varie &#8230;<\/p>\n","protected":false},"author":199,"featured_media":77236,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26232,25873,25957],"class_list":["post-77235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-sviluppo-wordpress","topic-temi-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Come creare endpoint personalizzati dell&#039;API REST di WordPress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati\" \/>\n<meta property=\"og:description\" content=\"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-08T18:28:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-09T11:14:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinqsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati\",\"datePublished\":\"2024-04-08T18:28:13+00:00\",\"dateModified\":\"2024-04-09T11:14:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\"},\"wordCount\":1364,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\",\"url\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\",\"name\":\"Come creare endpoint personalizzati dell'API REST di WordPress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"datePublished\":\"2024-04-08T18:28:13+00:00\",\"dateModified\":\"2024-04-09T11:14:23+00:00\",\"description\":\"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"contentUrl\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinqsta.com\/it\/argomenti\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/it\/#website\",\"url\":\"https:\/\/kinqsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinqsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinqsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinqsta.com\/it\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come creare endpoint personalizzati dell'API REST di WordPress - Kinsta\u00ae","description":"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/","og_locale":"it_IT","og_type":"article","og_title":"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati","og_description":"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.","og_url":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2024-04-08T18:28:13+00:00","article_modified_time":"2024-04-09T11:14:23+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.","twitter_image":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api-1024x512.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Jeremy Holcombe","Tempo di lettura stimato":"10 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinqsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati","datePublished":"2024-04-08T18:28:13+00:00","dateModified":"2024-04-09T11:14:23+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/"},"wordCount":1364,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/","url":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/","name":"Come creare endpoint personalizzati dell'API REST di WordPress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","datePublished":"2024-04-08T18:28:13+00:00","dateModified":"2024-04-09T11:14:23+00:00","description":"Scopri come migliorare il tuo sito WordPress creando tipi di post personalizzati e configurando i loro endpoint API REST.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#primaryimage","url":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","contentUrl":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/04\/wp-how-to-add-custom-endpoints-to-wordpress-rest-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/it\/blog\/endpoint-api-rest-personalizzato-wp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinqsta.com\/it\/argomenti\/api\/"},{"@type":"ListItem","position":3,"name":"Personalizzare WordPress per gli sviluppatori: sviluppare endpoint API REST personalizzati"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/it\/#website","url":"https:\/\/kinqsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinqsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinqsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinqsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinqsta.com\/it\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/posts\/77235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/comments?post=77235"}],"version-history":[{"count":5,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/posts\/77235\/revisions"}],"predecessor-version":[{"id":77242,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/posts\/77235\/revisions\/77242"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/translations\/de"},{"href":"https:\/\/kinqsta.com\/it\/wp-json\/kinsta\/v1\/posts\/77235\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/media\/77236"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/media?parent=77235"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/tags?post=77235"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/it\/wp-json\/wp\/v2\/topic?post=77235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}