Adăugare coloană personalizată la lista postărilor personalizate în backend

23 ian. 2017, 22:05:21
Vizualizări: 14.6K
Voturi: 2

Am un tip de postare personalizată numit evenimente. În backend/administrare pot lista toate aceste postări personalizate, adică evenimente:

Lista de evenimente în administrarea WordPress

După cum poți vedea, există trei coloane în această listă: Titlu, Etichete și Dată. Fiecare dintre aceste evenimente are un câmp personalizat numit eventDate.

Întrebarea mea este acum, cum pot adăuga o coloană sortabilă eventDate în lista de evenimente (prezentată mai sus)?

1
Comentarii

bine, tocmai am găsit acest link: http://www.deluxeblogtips.com/add-custom-column/ DAR cum pot face coloana sortabilă?

beta beta
23 ian. 2017 22:16:57
Toate răspunsurile la întrebare 3
0

Bine, am găsit singur un răspuns. Pentru a ajuta oamenii care vor citi asta în viitor, iată ce am făcut:

1) Aici este explicat cum să adaugi o coloană: http://www.deluxeblogtips.com/add-custom-column/

2) Aici este explicat cum să adaugi o coloană sortabilă: https://wordpress.org/support/topic/admin-column-sorting/

23 ian. 2017 22:49:31
2

Hook-urile pentru a crea coloane personalizate și datele asociate pentru un tip de postare personalizat sunt manage_{$post_type}_posts_columns și manage_{$post_type}_posts_custom_column, unde {$post_type} este numele tipului de postare personalizat.

Acest exemplu din documentație elimină coloana autorului și adaugă o coloană pentru taxonomie și metadate:

// Adaugă coloanele personalizate la tipul de postare 'book':
    add_filter( 'manage_book_posts_columns', 'set_custom_edit_book_columns' );
    function set_custom_edit_book_columns($columns) {
        unset( $columns['author'] );
        $columns['book_author'] = __( 'Autor', 'your_text_domain' );
        $columns['publisher'] = __( 'Editor', 'your_text_domain' );

        return $columns;
    }

    // Adaugă datele în coloanele personalizate pentru tipul de postare 'book':
    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( 'Nu s-au putut obține autor(i)', 'your_text_domain' );
                break;

            case 'publisher' :
                echo get_post_meta( $post_id , 'publisher' , true ); 
                break;

        }
    }

Copiat din răspunsul existent.

10 oct. 2017 13:56:19
Comentarii

este coloana sortabilă?

beta beta
10 oct. 2017 14:35:55

nu, aceste coloane nu vor fi sortabile..trebuie să le faci sortabile..

Pravin Work Pravin Work
11 oct. 2017 10:47:03
0

Iată întregul cod pentru aceasta:

add_filter('manage_edit-video_columns', 'my_columns');
function my_columns($columns) {
    $columns['eventDate'] = 'Data Evenimentului';
    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'] = 'Data Evenimentului';

    return $columns;
}

Mulțumesc

10 oct. 2017 15:06:10