我有一个WordPress网站,上面有一个名为“Courses”的自定义帖子类型。
在WordPress dashboard页面上列出了每门课程,我添加了一个新的列,显示一个自定义字段,这是一个日期,称为“在线开始”。联机开始日期是手动指定的日期,与帖子的发布日期无关。
我希望能够按照“在线开始”列中现在显示的日期对课程列表进行排序。
我添加了排序功能,如add_sortable_date_column
函数,但日期排序不正确。我相信这是因为我需要格式化$onlinestart
变量作为日期,我不太确定该怎么做。
任何帮助都将不胜感激。
//add custom field column to post list
function add_admin_course_column_title( $columns ) {
$columns[\'online_start\'] = __( \'Online Start\' );
return $columns;
}
add_filter( \'manage_courses_posts_columns\', \'add_admin_course_column_title\' );
function add_admin_course_column( $column, $post_id ) {
if ( \'online_start\' === $column ) {
$onlinestart = get_post_meta( $post_id, \'online_start\', true );
if ( ! $onlinestart ) {
_e( \'n/a\' );
}
else {
echo $onlinestart;
}
}
}
add_action( \'manage_courses_posts_custom_column\', \'add_admin_course_column\', 10, 2);
function add_sortable_date_column( $columns ) {
$columns[\'online_start\'] = \'online_start\';
return $columns;
}
add_filter( \'manage_edit-courses_sortable_columns\', \'add_sortable_date_column\');