{"id":1600,"date":"2012-12-13T06:30:33","date_gmt":"2012-12-13T05:30:33","guid":{"rendered":"http:\/\/www.manuelmarangoni.it\/sir-bit\/?p=1600"},"modified":"2013-05-26T14:02:58","modified_gmt":"2013-05-26T13:02:58","slug":"wordpress-come-estrarre-gli-articoli-di-una-o-piu-categorie","status":"publish","type":"post","link":"https:\/\/www.manuelmarangoni.it\/sir-bit\/1600\/wordpress-come-estrarre-gli-articoli-di-una-o-piu-categorie\/","title":{"rendered":"WordPress &#8211; Come estrarre gli articoli di una o pi\u00f9 categorie"},"content":{"rendered":"<div id=\"attachment_1603\" style=\"width: 416px\" class=\"wp-caption aligncenter\"><a class=\"lightbox\" title=\"Wordpress ha una funzione automatica per estrarre gli articoli di una categoria. Ma a volte potremmo aver bisogno di farlo tramite una query manuale\" href=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2012\/12\/Wordpress-circondato-da-codice.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1603\" class=\"size-medium wp-image-1603 \" style=\"margin-bottom: 5px;\" title=\"Wordpress circondato da codice\" src=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2012\/12\/Wordpress-circondato-da-codice-406x300.jpg\" alt=\"W di Worpress circondato da codice\" width=\"406\" height=\"300\" srcset=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2012\/12\/Wordpress-circondato-da-codice-406x300.jpg 406w, https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2012\/12\/Wordpress-circondato-da-codice.jpg 595w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><\/a><p id=\"caption-attachment-1603\" class=\"wp-caption-text\">WordPress ha una funzione automatica per estrarre gli articoli di una categoria. Ma a volte potremmo aver bisogno di farlo tramite una query manuale (1)<\/p><\/div>\n<p>WordPress ha integrata una funzionalit\u00e0 automatica che gli permette di stampare a video i post di una categoria. E&#8217; quello che succede ogni volta che cliccate su una categoria.<br \/>\nMa se dovessimo ricreare noi la <strong>query per estrarre gli articoli di una specifica categoria<\/strong>, \u00e8 utile sapere quali tabelle mettere in relazione tra loro.<\/p>\n<p>La query seguente necessita solo di poche modifiche: l&#8217;id della categoria (contenuto nella variabile <em>$id_categoria<\/em>) ed eventualmente il valore del <em>limit<\/em> (che ora \u00e8 impostato a 10: modificabile secondo le proprie esigenze).<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"php\" style=\"font-family: monospace;\"><span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #cc66cc;\">20<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$now<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #990000;\">gmdate<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #0000ff;\">\"Y-m-d H:i:s\"<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #990000;\">time<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">+<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc66cc;\">3600<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"SELECT wp_posts.* FROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms WHERE\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" wp_posts.ID=wp_term_relationships.object_id\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_term_relationships.term_taxonomy_id=wp_term_taxonomy.term_taxonomy_id\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_term_taxonomy.taxonomy='category'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_terms.term_id=\"<\/span><span style=\"color: #339933;\">.<\/span><span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_date &lt;= '<span style=\"color: #006699; font-weight: bold;\">$now<\/span>'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_type='post'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND (wp_posts.post_status IN ( 'publish', 'static' ))\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_password =''\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" ORDER BY RAND() LIMIT 10\"<\/span><span style=\"color: #339933;\">;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><!--more--><\/p>\n<p>Se ci troviamo nella necessit\u00e0 di <strong>estrarre gli articoli di pi\u00f9 categorie<\/strong>, ci baster\u00e0 modificare leggermente lo script.<br \/>\nLa variabile $id_categoria diventa quindi un array che conterr\u00e0 gli id delle varie categorie.<\/p>\n<p><script type=\"text\/javascript\">\/\/ <![CDATA[\ngoogle_ad_client = \"ca-pub-9984963620559913\"; \/* Sir Bit - post singolo rettangolare *\/ google_ad_slot = \"5334366715\"; google_ad_width = 336; google_ad_height = 280;\n\/\/ ]]><\/script><br \/>\n<script type=\"text\/javascript\" src=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\/\/ <![CDATA[\n\n\n\/\/ ]]><\/script><\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15\r\n16\r\n17\r\n18\r\n19\r\n20\r\n21\r\n22\r\n23\r\n24<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"php\" style=\"font-family: monospace;\"><span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #990000;\">array<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #cc66cc;\">20<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #cc66cc;\">25<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_categoria<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #cc66cc;\">26<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$now<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #990000;\">gmdate<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #0000ff;\">\"Y-m-d H:i:s\"<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #990000;\">time<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">+<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc66cc;\">3600<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"SELECT wp_posts.* FROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms WHERE\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" wp_posts.ID=wp_term_relationships.object_id\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_term_relationships.term_taxonomy_id=wp_term_taxonomy.term_taxonomy_id\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_term_taxonomy.taxonomy='category'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_terms.term_id IN (\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$inclusi<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"\"<\/span><span style=\"color: #339933;\">;<\/span> <span style=\"color: #666666; font-style: italic;\">\/\/contiene la stringa degli id<\/span>\r\n<span style=\"color: #b1b100;\">foreach<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #000088;\">$id_categoria<\/span> <span style=\"color: #b1b100;\">as<\/span> <span style=\"color: #000088;\">$value<\/span><span style=\"color: #009900;\">)<\/span>\r\n\t<span style=\"color: #000088;\">$inclusi<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #000088;\">$value<\/span><span style=\"color: #339933;\">.<\/span><span style=\"color: #0000ff;\">\", \"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #990000;\">substr<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #000088;\">$inclusi<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #339933;\">,<\/span> <span style=\"color: #339933;\">-<\/span><span style=\"color: #cc66cc;\">2<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\")\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_date &lt;= '<span style=\"color: #006699; font-weight: bold;\">$now<\/span>'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_type='post'\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND (wp_posts.post_status IN ( 'publish', 'static' ))\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" AND wp_posts.post_password =''\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n<span style=\"color: #000088;\">$query<\/span><span style=\"color: #339933;\">.=<\/span><span style=\"color: #0000ff;\">\" ORDER BY RAND() LIMIT 10\"<\/span><span style=\"color: #339933;\">;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"margin-top: 100px; margin-bottom: 20px;\"><strong><em>Copyright immagini<\/em><\/strong><\/div>\n<p>(1) http:\/\/maxfoundry.com\/blog\/this-week-in-wordpress-apr-16-2012\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vediamo come costruire manualmente una query che permetta di estrarre gli articoli di una singola categoria in Wordpress, oppure di specifiche categorie.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[32,4,23],"class_list":["post-1600","post","type-post","status-publish","format-standard","hentry","category-wordpress-2","tag-mysql","tag-php","tag-wordpress","cat-79-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1600"}],"collection":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/comments?post=1600"}],"version-history":[{"count":8,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1600\/revisions"}],"predecessor-version":[{"id":1878,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1600\/revisions\/1878"}],"wp:attachment":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/media?parent=1600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/categories?post=1600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/tags?post=1600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}