{"id":232,"date":"2011-07-05T19:49:49","date_gmt":"2011-07-05T17:49:49","guid":{"rendered":"http:\/\/localhost\/blog\/?p=232"},"modified":"2012-12-29T22:21:25","modified_gmt":"2012-12-29T21:21:25","slug":"wordpress-utilizziamo-i-plugin","status":"publish","type":"post","link":"https:\/\/www.ilbytecidio.it\/?p=232","title":{"rendered":"WordPress: utilizziamo i plugin!"},"content":{"rendered":"<p>Questa discussione potrebbe sembrare la scoperta dell&#8217;acqua calda e invece, da quello che possiamo vedere su Internet, non \u00e8 cos\u00ec ovvio.<\/p>\n<p>WordPress \u00e8 uno dei CMS pi\u00f9 famosi, utilizzato soprattutto per creare blog, ma molto flessibile grazie soprattutto al meccanismo dei plugin, col quale possiamo estenderne le funzionalit\u00e0.<br \/>\nPurtroppo, molti siti WEB e blog che offrono soluzioni per personalizzare il nostro sito wordpress, seguono un approccio sbagliato: suggeriscono di modificare direttamente il codice di wordpress o comunque i suoi file. Qualche volta addirittura inseriscono le modifiche disordinatamente nel template. Se queste modifiche comunque funzionano, creano grossi problemi<!--more-->:<\/p>\n<p>1) Difficolt\u00e0 di aggiornamento. Se modifichiamo i file, potremmo veder sparire le nostre modifiche in caso di aggiornamento ed evitare gli aggiornamenti \u00e8 una cosa sconsigliatissima, dato che si correggono bug di sicurezza.<br \/>\n2) Compatibilit\u00e0. Se decidiamo di passare a una versione pi\u00f9 recente del software, dovremo ristudiare le modifiche per la nuova versione, mentre normalmente le API rimangono uguali, quindi un plugin possiamo prenderlo cos\u00ec com&#8217;\u00e8 e installarlo sulla nuova versione.<br \/>\n3) Manutenzione. Se spargiamo le nostre modifiche in giro per i file di wordpress, \u00e8 molto facile dimenticare cosa abbiamo fatto e impazzire se si presenta un malfunzionamento o anche solo se dobbiamo far evolvere ancora il nostro codice. Se scriviamo un plugin invece abbiamo i file sotto controllo, perch\u00e9 si troveranno tutti nella stessa cartella<\/p>\n<p>Per di pi\u00f9, scrivere un plugin non \u00e8 pi\u00f9 difficile che fare modifiche pazze in giro. La documentazione di wordpress non \u00e8 delle migliori, ammettiamolo, ma \u00e8 ottima per cominciare e si pu\u00f2 compensare con tanto altro materiale reperibile online.<br \/>\nVediamo un esempio pratico. Su <a href=\"http:\/\/www.wpstyle.it\/programmazione-wordpress\/come-aggiungere-campi-personalizzati-nel-profilo-utente-di-wordpress.html\">questa pagina<\/a> potete vedere un esempio di ci\u00f2 che ho appena esposto: si suggerisce di modificare functions.php per aggiungere dei campi personalizzati nel profilo utente. Ora vi spiego come fare la stessa cosa in modo pulito e ordinato.<\/p>\n<p>Create un file chiamato plg_campi_profilo.php e incollate il seguente codice:<\/p>\n<pre lang=\"PHP\" line=\"1\">\r\n<?php\r\n\/*\r\nPlugin Name: Miei campi profilo\r\nPlugin URI: www.foruminformatico.tk\r\nDescription: Questo plugin aggiunge campi personalizzati nel profilo utente\r\nAuthor: Forum Informatico\r\nVersion: 1.0\r\n*\/\r\n\r\nfunction my_custom_userfields( $contactmethods ) {\r\n  \/\/ I nostri campi personalizzati\r\n  $contactmethods['facebook']       = 'Profilo Facebook';\r\n  $contactmethods['msn']              = 'Contatto MSN';\r\n  $contactmethods['languages']      = 'Lingue parlate';\r\n\r\n  return $contactmethods;\r\n}\r\n\/* Questa riga richiama la funzione appena creata quando\r\n * vengono visualizzate le informazioni di contatto del profilo\r\n *\/\r\nadd_filter('user_contactmethods', 'my_custom_userfields', 10, 1);\r\n?>\r\n<\/pre>\n<p>La prima parte commentata \u00e8 necessaria affinch\u00e9 wordpress legga le informazioni sul plugin.<br \/>\nCopiamo il file nella sottocartella wp-content\/plugins di wordpress. Poi accediamo come amministratori a wordpress e clicchiamo su &#8220;Plugin&#8221; nell&#8217;area di amministrazione. Individuiamo il plugin &#8220;Miei campi profilo&#8221;, attiviamolo e il gioco \u00e8 fatto.<br \/>\nCome possiamo vedere, non \u00e8 cambiato molto, dal punto di vista della programmazione, ma l&#8217;abbiamo fatto meglio. Se il nostro plugin necessita di pi\u00f9 file, nessun problema, perch\u00e9 possiamo piazzarli tutti in una sottocartella, come wp-content\/plugins\/plg_campi_profilo, cos\u00ec che tutto resti ordinato.<br \/>\nOra che avete visto i rudimenti, dateci sotto e cominciate a personalizzare il vostro sito!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questa discussione potrebbe sembrare la scoperta dell&#8217;acqua calda e invece, da quello che possiamo vedere su Internet, non \u00e8 cos\u00ec ovvio. WordPress \u00e8 uno dei CMS pi\u00f9 famosi, utilizzato soprattutto per creare blog, ma molto flessibile grazie soprattutto al meccanismo &hellip; <a href=\"https:\/\/www.ilbytecidio.it\/?p=232\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-232","post","type-post","status-publish","format-standard","hentry","category-web-cms"],"views":98,"_links":{"self":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=232"}],"version-history":[{"count":2,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":284,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions\/284"}],"wp:attachment":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}