events というカスタム投稿タイプがあります。バックエンド/管理で、私はこれらすべてのカスタム投稿タイプをリストすることができます、すなわち、 イベント :
ご覧のとおり、この概要には3つの列があります。 タイトル 、 タグ 、および 日付 。これらの events のそれぞれに、 eventDate という名前のカスタムフィールドがあります。
私の質問は、 events 概要にソート可能な eventDate 列を追加するにはどうすればよいですか(上の写真)
さて、私は自分で答えを見つけました。将来これを読む人を助けるために、これは私がしたことです:
1)これは列を追加する方法を説明します: http://www.deluxeblogtips.com/add-custom-column/
2)ソート可能な列を追加する方法を説明します。 https://wordpress.org/support/topic/admin-column-sorting/
カスタム投稿タイプのカスタム列とそれに関連するデータを作成するためのフックは、それぞれmanage _ {$ post_type} _posts_columnsとmanage _ {$ post_type} _posts_custom_columnです。{$ post_type}はカスタム投稿タイプの名前です。
このドキュメントの例では、作成者列を削除し、分類法とメタデータ列を追加しています。
// Add the custom columns to the book post type:
add_filter( 'manage_book_posts_columns', 'set_custom_edit_book_columns' );
function set_custom_edit_book_columns($columns) {
unset( $columns['author'] );
$columns['book_author'] = __( 'Author', 'your_text_domain' );
$columns['publisher'] = __( 'Publisher', 'your_text_domain' );
return $columns;
}
// Add the data to the custom columns for the book post type:
add_action( 'manage_book_posts_custom_column' , 'custom_book_column', 10, 2 );
function custom_book_column( $column, $post_id ) {
switch ( $column ) {
case 'book_author' :
$terms = get_the_term_list( $post_id , 'book_author' , '' , ',' , '' );
if ( is_string( $terms ) )
echo $terms;
else
_e( 'Unable to get author(s)', 'your_text_domain' );
break;
case 'publisher' :
echo get_post_meta( $post_id , 'publisher' , true );
break;
}
}
既存のansからコピーしました。
これはこのための全体のコードです:
add_filter('manage_edit-video_columns', 'my_columns');
function my_columns($columns) {
$columns['eventDate'] = 'Event Date';
return $columns;
}
add_action('manage_posts_custom_column', 'my_show_columns');
function my_show_columns($name) {
global $post;
switch ($name) {
case 'eventDate':
$eventDate = get_post_meta($post->ID, 'eventDate', true);
echo $eventDate;
}
}
add_filter( 'manage_edit-video_sortable_columns', 'my_sortable_date_column' );
function my_sortable_date_column( $columns ) {
$columns['eventDate'] = 'Event Date';
return $columns;
}
ありがとう