回答:
常に「タイトル」列をクリックして投稿をタイトルでソートしたくない場合は、このコードを現在アクティブなWordPressテーマのfunctions.php
ファイルまたはプラグイン内に配置できます。これにより、常に自動的に投稿が並べ替えられるため、毎回タイトル列をクリックする必要はありません。
これを使用して、投稿タイプのデフォルトのソート順を設定できます。
/* 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');
}
これらの例の条件のいくつかを使用できます...
/* 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'){
}
この組み込みをすべての投稿タイプに適用したい場合は、それらが「組み込み」かどうかに関係なく...
これを変える:
$post_types = get_post_types(array('_builtin' => true), 'names');
これに:
$post_types = get_post_types('', 'names');
if ( ! is_admin ) { return; }