我通过更改一些代码修复了此问题。
我更改了:
add_filter( \'request\', \'timeline_column_orderby\' );
function timeline_column_orderby( $vars ) {
if ( !isset( $vars[\'orderby\'] ) || ( isset( $vars[\'orderby\'] ) && \'Year\' == $vars[\'orderby\'] ) ) {
$vars = array_merge( $vars, array(
\'meta_key\' => \'timeline_date\',
\'orderby\' => \'meta_value\'
) );
}
return $vars;
}
收件人:
add_action( \'load-edit.php\', \'sort_year_load\' );
function sort_year_load() {
add_filter( \'request\', \'sort_year\' );
}
//make the date column sortable by year
function sort_year( $vars ) {
/* Check if we\'re viewing the \'maryg_timeline\' post type. */
if ( isset( $vars[\'post_type\'] ) && \'maryg_timeline\' == $vars[\'post_type\'] ) {
/* Check if \'orderby\' is set to \'year\'. */
if ( isset( $vars[\'orderby\'] ) && \'Year\' == $vars[\'orderby\'] ) {
/* Merge the query vars with our custom variables. */
$vars = array_merge(
$vars,
array(
\'meta_key\' => \'timeline_date\',
\'orderby\' => \'meta_value_num\'
)
);
}
}
return $vars;
}
它告诉WordPress当我点击可点击的表格标题时如何对表格进行排序。
我所做的只是在编辑上运行我的自定义。管理中的php页面。
然后我检查我们是否查看了正确的自定义帖子,以及是否将其设置为“年”。然后我就按meta\\U键订购。
我的主要问题是订购装载的桌子。我用这个代码修复了这个问题:
function set_year_post_type_admin_order($wp_query) {
if (is_admin()) {
$post_type = $wp_query->query[\'post_type\'];
if ( $post_type == \'maryg_timeline\') {
$wp_query->set(\'meta_key\', \'timeline_date\');
$wp_query->set(\'orderby\', \'meta_value_num\');
$wp_query->set(\'order\', \'DESC\');
}
}
}
add_filter ( \'pre_get_posts\', \'set_year_post_type_admin_order\' );
它检查您的管理员和帖子类型,然后将查询设置为我设置的值。
希望这对其他人有帮助