Como alterar a ordem de postagens no admin?
2 respostas
- votos
-
- 2012-09-27
Se vocênão deseja sempre clicarna coluna "Title"para classificar suaspostagensportítulo,vocêpode colocareste códigono arquivo
functions.php
ou dentro umplugin. Isso será automaticamente classificará suaspostagenspara você,então vocênãoprecisa clicarna coluna dotítulotoda vez.Vocêpode usarissopara definir opedidopadrão de classificaçãoem tipospostais.
/* Sort posts in wp_list_table by column in ascending or descending order. */ function custom_post_order($query){ /* Set post types. _builtin => true returns WordPress default post types. _builtin => false returns custom registered post types. */ $post_types = get_post_types(array('_builtin' => true), 'names'); /* The current post type. */ $post_type = $query->get('post_type'); /* Check post types. */ if(in_array($post_type, $post_types)){ /* Post Column: e.g. title */ if($query->get('orderby') == ''){ $query->set('orderby', 'title'); } /* Post Order: ASC / DESC */ if($query->get('order') == ''){ $query->set('order', 'ASC'); } } } if(is_admin()){ add_action('pre_get_posts', 'custom_post_order'); }
Vocêpode usar algumas dessas condições deexemplo ...
/* Effects all post types in the array. */ if(in_array($post_type, $post_types)){ } /* Effects only a specific post type in the array of post types. */ if(in_array($post_type, $post_types) && $post_type == 'your_post_type_name'){ } /* Effects all post types in the array of post types, except a specific post type. */ if(in_array($post_type, $post_types) && $post_type != 'your_post_type_name'){ }
Se você quisesse aplicaressa classificaçãoem todos ostipos depostagem,independentemente deeles serem "internos" ...
Mudeisto:
$post_types = get_post_types(array('_builtin' => true), 'names');
paraisso:
$post_types = get_post_types('', 'names');
If you don't wish to always click the "Title" column to sort your posts by title, you can place this code in either your currently active WordPress theme's
functions.php
file, or within a plugin. This will automatically always sort your posts for you, so you don't have to click the title column every time.You can use this for setting default sort order on post types.
/* Sort posts in wp_list_table by column in ascending or descending order. */ function custom_post_order($query){ /* Set post types. _builtin => true returns WordPress default post types. _builtin => false returns custom registered post types. */ $post_types = get_post_types(array('_builtin' => true), 'names'); /* The current post type. */ $post_type = $query->get('post_type'); /* Check post types. */ if(in_array($post_type, $post_types)){ /* Post Column: e.g. title */ if($query->get('orderby') == ''){ $query->set('orderby', 'title'); } /* Post Order: ASC / DESC */ if($query->get('order') == ''){ $query->set('order', 'ASC'); } } } if(is_admin()){ add_action('pre_get_posts', 'custom_post_order'); }
You can use some of these example conditions...
/* Effects all post types in the array. */ if(in_array($post_type, $post_types)){ } /* Effects only a specific post type in the array of post types. */ if(in_array($post_type, $post_types) && $post_type == 'your_post_type_name'){ } /* Effects all post types in the array of post types, except a specific post type. */ if(in_array($post_type, $post_types) && $post_type != 'your_post_type_name'){ }
If you wanted to apply this sorting on ALL post types, regardless of whether or not they are "built-in"...
Change this:
$post_types = get_post_types(array('_builtin' => true), 'names');
To this:
$post_types = get_post_types('', 'names');
-
É ok usar dentro dafunçãoem vez de verificar antes da ação `se (! Is_admin) { Retorna; } `Is it ok to use within the function rather than check before the action `if ( ! is_admin ) { return; }`
- 0
- 2012-09-30
- urok93
-
Eu suponho que vocêpoderiafazerisso.I suppose you could do that.
- 0
- 2012-10-01
- Michael Ecklund
-
Você deve adicionar uma "mensagem de retorno";Antes dafinal dafunção,caso contrário,issonãofuncionaránasediçõesmaisposteriores do WordPress.You must add a "return $query;" before function end, otherwise this will not work in later wordpress editions.
- 0
- 2017-04-20
- Jobst
-
Eu acho que umpluginestáexecutandoestafunçãoe substituindominhafunçãopersonalizada.Existe umganchoparagarantir quemeu código sejaexecutadoem vez dosplugins?I think a plugin is running this function and overriding my custom function. Is there a hook to ensure that my code is run rather than the plugins?
- 0
- 2018-08-20
- Thomas_Hoadley
-
- 2012-09-27
ah,cliquenessetítulopequenopara alternar a classificação alfabética ....
Ah, click that little title thingy to toggle alphabetical sorting....
Comoposso alterar a ordem daspostagensnopainel de administração,portanto,elesexibemem ordem alfabética de acordo com otítulo,em vez demais recenteprimeiro?