{"id":1125,"date":"2010-09-03T19:18:04","date_gmt":"2010-09-03T17:18:04","guid":{"rendered":"http:\/\/lloc.de\/?p=1125"},"modified":"2025-09-12T14:17:02","modified_gmt":"2025-09-12T12:17:02","slug":"pimp-a-wordpress-standard-widget","status":"publish","type":"post","link":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/","title":{"rendered":"Pimp a WordPress-Standard-Widget"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Poco tempo fa ho presentato un hack che nasconde il Link-Widget nella homepage del blog. La decisione di cercare una soluzione del tipo \u201cquick &amp; dirty\u201d era in parte dovuta al mio gusto personale e in parte alla curiosit\u00e0 di capire che cosa succede all&#8217;interno di WordPress una volta attivato un widget. Alla fine ho presentato una soluzione non molto bella e nemmeno raccomandabile in un ambiente pi\u00f9 complesso.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto, prima di presentare una soluzione un po&#8217; pi\u00f9 elegante, voglio scrivere due righe sui widget. In rete viaggiano tante spiegazioni diverse su cosa sia un WordPress Widget. Ci sono anche articoli che descrivono questa funzionalit\u00e0 come qualcosa a met\u00e0 strada fra tema e plugin. Ma questa la definirei una semplificazione e, di fatto, non \u00e8 cos\u00ec!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Naturalmente i widget esistono per definizione per essere presentati nelle sidebar dinamiche. Ma per questo motivo non diventano automaticamente una parte di un tema. Nel controllo dei widget, che si trova nel pannello di amministrazione, i widget restano disponibili, se il codice non si trova nel <em>functions.php<\/em> del tema, anche quando si cambia il design.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per un widget il fatto che il suo codice esista nel core di WordPress, nel <em>functions.php<\/em> del tema o in un file di un plugin, \u00e8 del tutto indifferente. Importante \u00e8 solo attenersi alle regole, ovvero seguire la <a href=\"https:\/\/codex.wordpress.org\/Widgets_API\">Widget-API<\/a>. Tra l&#8217;altro, personalmente trovo anche la denominazione API un po&#8217; infelice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parlerei piuttosto di un Framework o, per essere pi\u00f9 preciso, di una raccolta delle classi con qualche esempio predefinito, gli Standard Widget. Tutti i widget devono estendere la classe <em>WP_Widget<\/em> e devono implementare pochi metodi per integrarsi bene.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto la domanda, perch\u00e9 non estendere i widget standard, \u00e8 ovvia. \u00c8 possibile determinare da soli quando mostrare un widget e quando no? La risposta \u00e8 s\u00ec \u2026 e non solo: alla fine la soluzione risulta non solo efficace ma anche molto semplice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il codice si pu\u00f2 inserire per esempio nel file <em>functions.php<\/em> del tema e si pu\u00f2 spiegare anche con poche parole:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La classe <em>MY_Widget_Links<\/em> estende il widget standard responsabile per la visualizzazione della blogroll. Il metodo <em>widget<\/em> che rende l&#8217;output controlla prima tramite i tag condizionali se la pagina non \u00e8 la nostra homepage e, in tal caso, ricorre al metodo della classe parent. Presento poi una funzione che viene triggerata quando i widget vengono inizializzati, che disattiva il widget standard e infine attiva la versione modificata.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Poco tempo fa ho presentato un hack che nasconde il Link-Widget nella homepage del blog. La decisione di cercare una soluzione del tipo \u201cquick &amp; dirty\u201d era in parte dovuta al mio gusto personale e in parte alla curiosit\u00e0 di capire che cosa succede all&#8217;interno di WordPress una volta attivato un widget. Alla fine ho &hellip; <a href=\"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Pimp a WordPress-Standard-Widget&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[2,5],"tags":[16,24,31],"class_list":["post-1125","post","type-post","status-publish","format-aside","hentry","category-code","category-wordpress","tag-modifica","tag-standard-widget","tag-wordpress-2","post_format-post-format-aside"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pimp a WordPress-Standard-Widget - realloc&#039;s asylum<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pimp a WordPress-Standard-Widget - realloc&#039;s asylum\" \/>\n<meta property=\"og:description\" content=\"Poco tempo fa ho presentato un hack che nasconde il Link-Widget nella homepage del blog. La decisione di cercare una soluzione del tipo \u201cquick &amp; dirty\u201d era in parte dovuta al mio gusto personale e in parte alla curiosit\u00e0 di capire che cosa succede all&#8217;interno di WordPress una volta attivato un widget. Alla fine ho &hellip; Leggi tutto &quot;Pimp a WordPress-Standard-Widget&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/\" \/>\n<meta property=\"og:site_name\" content=\"realloc&#039;s asylum\" \/>\n<meta property=\"article:published_time\" content=\"2010-09-03T17:18:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-12T12:17:02+00:00\" \/>\n<meta name=\"author\" content=\"realloc\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"realloc\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/\"},\"author\":{\"name\":\"realloc\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"headline\":\"Pimp a WordPress-Standard-Widget\",\"datePublished\":\"2010-09-03T17:18:04+00:00\",\"dateModified\":\"2025-09-12T12:17:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/\"},\"wordCount\":406,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"keywords\":[\"modifica\",\"standard widget\",\"wordpress\"],\"articleSection\":[\"Codice\",\"WordPress\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/\",\"url\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/\",\"name\":\"Pimp a WordPress-Standard-Widget - realloc&#039;s asylum\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#website\"},\"datePublished\":\"2010-09-03T17:18:04+00:00\",\"dateModified\":\"2025-09-12T12:17:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/pimp-a-wordpress-standard-widget\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ploetner.io\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pimp a WordPress-Standard-Widget\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/ploetner.io\\\/it\\\/\",\"name\":\"realloc's asylum\",\"description\":\"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.\",\"publisher\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ploetner.io\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/#\\\/schema\\\/person\\\/571f8ada841cca782e8001b942e032c8\",\"name\":\"realloc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/9\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"url\":\"https:\\\/\\\/ploetner.io\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/9\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"contentUrl\":\"https:\\\/\\\/ploetner.io\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/9\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\",\"width\":847,\"height\":848,\"caption\":\"realloc\"},\"logo\":{\"@id\":\"https:\\\/\\\/ploetner.io\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/sites\\\/9\\\/2022\\\/11\\\/52602486_10215993351498483_6040822616506236928_n.jpg\"},\"description\":\"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.\",\"sameAs\":[\"https:\\\/\\\/ploetner.io\\\/\"],\"url\":\"https:\\\/\\\/ploetner.io\\\/it\\\/author\\\/realloc\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pimp a WordPress-Standard-Widget - realloc&#039;s asylum","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:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/","og_locale":"it_IT","og_type":"article","og_title":"Pimp a WordPress-Standard-Widget - realloc&#039;s asylum","og_description":"Poco tempo fa ho presentato un hack che nasconde il Link-Widget nella homepage del blog. La decisione di cercare una soluzione del tipo \u201cquick &amp; dirty\u201d era in parte dovuta al mio gusto personale e in parte alla curiosit\u00e0 di capire che cosa succede all&#8217;interno di WordPress una volta attivato un widget. Alla fine ho &hellip; Leggi tutto \"Pimp a WordPress-Standard-Widget\"","og_url":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/","og_site_name":"realloc&#039;s asylum","article_published_time":"2010-09-03T17:18:04+00:00","article_modified_time":"2025-09-12T12:17:02+00:00","author":"realloc","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"realloc","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/#article","isPartOf":{"@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/"},"author":{"name":"realloc","@id":"https:\/\/ploetner.io\/it\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"headline":"Pimp a WordPress-Standard-Widget","datePublished":"2010-09-03T17:18:04+00:00","dateModified":"2025-09-12T12:17:02+00:00","mainEntityOfPage":{"@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/"},"wordCount":406,"commentCount":0,"publisher":{"@id":"https:\/\/ploetner.io\/it\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"keywords":["modifica","standard widget","wordpress"],"articleSection":["Codice","WordPress"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/","url":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/","name":"Pimp a WordPress-Standard-Widget - realloc&#039;s asylum","isPartOf":{"@id":"https:\/\/ploetner.io\/it\/#website"},"datePublished":"2010-09-03T17:18:04+00:00","dateModified":"2025-09-12T12:17:02+00:00","breadcrumb":{"@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ploetner.io\/it\/pimp-a-wordpress-standard-widget\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ploetner.io\/it\/"},{"@type":"ListItem","position":2,"name":"Pimp a WordPress-Standard-Widget"}]},{"@type":"WebSite","@id":"https:\/\/ploetner.io\/it\/#website","url":"https:\/\/ploetner.io\/it\/","name":"realloc's asylum","description":"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.","publisher":{"@id":"https:\/\/ploetner.io\/it\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ploetner.io\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":["Person","Organization"],"@id":"https:\/\/ploetner.io\/it\/#\/schema\/person\/571f8ada841cca782e8001b942e032c8","name":"realloc","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/ploetner.io\/it\/wp-content\/uploads\/sites\/7\/sites\/9\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","url":"https:\/\/ploetner.io\/it\/wp-content\/uploads\/sites\/7\/sites\/9\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","contentUrl":"https:\/\/ploetner.io\/it\/wp-content\/uploads\/sites\/7\/sites\/9\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg","width":847,"height":848,"caption":"realloc"},"logo":{"@id":"https:\/\/ploetner.io\/it\/wp-content\/uploads\/sites\/7\/sites\/9\/2022\/11\/52602486_10215993351498483_6040822616506236928_n.jpg"},"description":"Software Developer &amp; WordPress Enthusiast | Born in Germany. Reborn in Italy.","sameAs":["https:\/\/ploetner.io\/"],"url":"https:\/\/ploetner.io\/it\/author\/realloc\/"}]}},"_links":{"self":[{"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/posts\/1125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/comments?post=1125"}],"version-history":[{"count":3,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/posts\/1125\/revisions"}],"predecessor-version":[{"id":1594,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/posts\/1125\/revisions\/1594"}],"wp:attachment":[{"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/media?parent=1125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/categories?post=1125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ploetner.io\/it\/wp-json\/wp\/v2\/tags?post=1125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}