{"id":232238,"date":"2023-01-05T10:31:00","date_gmt":"2023-01-05T07:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232238"},"modified":"2022-11-10T08:14:42","modified_gmt":"2022-11-10T05:14:42","slug":"ordina-i-post-di-wordpress-per-data","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/ordina-i-post-di-wordpress-per-data\/","title":{"rendered":"Ordina i post di WordPress per data"},"content":{"rendered":"<p><strong>TL; DR:<\/strong> Se stai cercando un modo semplice per ordinare i post di WordPress per data (decrescente o ascendente) nell&#8217;area di amministrazione senza che gli utenti facciano clic sull&#8217;intestazione della colonna Data, puoi farlo attraverso l&#8217;uso del <code>pre_get_posts<\/code>filtro che fornisce un riferimento all&#8217;istanza <code>WP_Query<\/code>in esecuzione nella pagina.<\/p>\n<p>Per esempi nel codice su come farlo, controlla il resto dell&#8217;articolo.<\/p>\n<h2>Ordina i post di WordPress<\/h2>\n<p>Questo articolo \u00e8 scritto in modo tale da presupporre che la tua configurazione sia basata sulla classe. Ci\u00f2 significa che l&#8217;impostazione per il filtro \u00e8 definita in una funzione come <code>init<\/code>e richiama un <code>public<\/code>nome di funzione sulla classe come <code>sort_articles_by_recent_time<\/code>.<\/p>\n<p>Infine, definisce una priorit\u00e0 di <code>10<\/code>e specifica che la funzione accetter\u00e0 un singolo argomento (che \u00e8 un&#8217;istanza di <code>WP_Query<\/code>.<\/p>\n<p>Innanzitutto, aggiungi il seguente filtro:<\/p>\n<pre><code>add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );<\/code><\/pre>\n<p>Quindi aggiungi la seguente funzione:<\/p>\n<pre><code>public function sort_articles_by_recent_time( WP_Query $query) {\n  global $pagenow;\n  if (! is_admin() || 'edit.php' !== $pagenow) {\n    return;\n  }\n\n  $query-&gt;set( 'orderby', 'date' );\n  $query-&gt;set( 'order', 'desc' );\n }<\/code><\/pre>\n<p>Ecco come funziona:<\/p>\n<ol>\n<li>Nota i primi controlli condizionali se non siamo nell&#8217;area di amministrazione o se non siamo nella <code>edit.php<\/code>pagina (che \u00e8 la pagina dell&#8217;elenco dei post), lasciamo semplicemente la funzionalit\u00e0. Questa \u00e8 una clausola di guardia o un ritorno anticipato.<\/li>\n<li>Se soddisfiamo entrambi questi criteri, aggiorneremo la query in modo che ordini i post per data in ordine decrescente. Ci\u00f2 significa che le date pi\u00f9 recenti saranno sempre elencate in alto.<\/li>\n<\/ol>\n<p>Questo non tiene conto dello stato del post (quindi se \u00e8 un <code>draft<\/code>o un post con lo <code>publish<\/code>stato, non importa). Inoltre, ci\u00f2 impedir\u00e0 agli utenti di dover fare clic sull&#8217;intestazione della colonna Data per ordinare i risultati secondo necessit\u00e0 se questo \u00e8 qualcosa che desideri nella tua soluzione.<\/p>\n<h3>Riferimenti<\/h3>\n<ul>\n<li><code>[pre_get_posts](https:\/\/developer.wordpress.org\/reference\/hooks\/pre_get_posts\/)<\/code><\/li>\n<li><code>[WP_Query](https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/)<\/code><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un modo semplice per ordinare i post di WordPress per data (decrescente o ascendente) nell&#8217;area di amministrazione senza che gli utenti facciano clic sull&#8217;intestazione della colonna Data<\/p>\n","protected":false},"author":1,"featured_media":158594,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,835,804,844,865],"tags":[1168],"class_list":["post-232238","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-guida-per-principianti","category-php-6","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=232238"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232238\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/158594"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=232238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=232238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=232238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}