{"id":232045,"date":"2023-01-05T10:06:00","date_gmt":"2023-01-05T07:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232045"},"modified":"2022-11-10T07:22:22","modified_gmt":"2022-11-10T04:22:22","slug":"classifique-as-postagens-do-wordpress-por-data","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/classifique-as-postagens-do-wordpress-por-data\/","title":{"rendered":"Classifique as postagens do WordPress por data"},"content":{"rendered":"<p><strong>TL;DR:<\/strong> Se voc\u00ea est\u00e1 procurando uma maneira f\u00e1cil de classificar as postagens do WordPress por data (seja decrescente ou ascendente) na \u00e1rea de administra\u00e7\u00e3o sem que os usu\u00e1rios cliquem no cabe\u00e7alho da coluna Data, voc\u00ea pode faz\u00ea-lo usando o <code>pre_get_posts<\/code>filtro que fornece uma refer\u00eancia \u00e0 inst\u00e2ncia <code>WP_Query<\/code>em execu\u00e7\u00e3o na p\u00e1gina.<\/p>\n<p>Para obter exemplos em c\u00f3digo sobre como fazer isso, confira o restante do artigo.<\/p>\n<h2>Classificar postagens do WordPress<\/h2>\n<p>Este artigo foi escrito de tal forma que assume sua configura\u00e7\u00e3o baseada em classe. Isso significa que a configura\u00e7\u00e3o do filtro \u00e9 definida em uma fun\u00e7\u00e3o como <code>init<\/code>e invoca um <code>public<\/code>nome de fun\u00e7\u00e3o na classe, como <code>sort_articles_by_recent_time<\/code>.<\/p>\n<p>Finalmente, ele define uma prioridade <code>10<\/code>e especifica que a fun\u00e7\u00e3o aceitar\u00e1 um \u00fanico argumento (que \u00e9 uma inst\u00e2ncia de <code>WP_Query<\/code>.<\/p>\n<p>Primeiro, adicione o seguinte filtro:<\/p>\n<pre><code>add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );<\/code><\/pre>\n<p>Em seguida, adicione a seguinte fun\u00e7\u00e3o:<\/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>Veja como funciona:<\/p>\n<ol>\n<li>Observe as primeiras verifica\u00e7\u00f5es condicionais se n\u00e3o estivermos na \u00e1rea de administra\u00e7\u00e3o ou se n\u00e3o estivermos na <code>edit.php<\/code>p\u00e1gina (que \u00e9 a p\u00e1gina de listagem de posts), simplesmente deixamos a funcionalidade. Esta \u00e9 uma cl\u00e1usula de guarda ou um retorno antecipado.<\/li>\n<li>Se atendermos a esses dois crit\u00e9rios, atualizaremos a consulta para que ela ordene publica\u00e7\u00f5es por data em ordem decrescente. Isso significa que as datas mais recentes sempre ser\u00e3o listadas no topo.<\/li>\n<\/ol>\n<p>Isso n\u00e3o leva em conta o status do post (portanto, se for um <code>draft<\/code>ou um post com o <code>publish<\/code>status, n\u00e3o importa). Al\u00e9m disso, isso evitar\u00e1 que os usu\u00e1rios tenham que clicar no cabe\u00e7alho da coluna Data para classificar os resultados conforme necess\u00e1rio, se isso for algo que voc\u00ea deseja em sua solu\u00e7\u00e3o.<\/p>\n<h3>Refer\u00eancias<\/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 de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma maneira f\u00e1cil de classificar as postagens do WordPress por data (seja decrescente ou ascendente) na \u00e1rea de administra\u00e7\u00e3o sem que os usu\u00e1rios cliquem no cabe\u00e7alho da coluna 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":[898,837,806,846,867],"tags":[1170],"class_list":["post-232045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-guia-para-iniciantes","category-php-8","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=232045"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232045\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/158594"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}