Додавання спеціальних стовпців до спеціальних типів публікацій


27

Я робив це раніше, але забув назву гачка, і не можу його знайти ніде ...

Що я намагаюся зробити - це додати кілька спеціальних стовпців у перелік спеціального типу публікації в адміністраторі.

Наприклад, в адміністраторі натисніть на статті , я хочу додати туди спеціальний стовпчик.


Я запитав (і відповів) те саме питання (в тому числі, як зробити їх сортуванням): wordpress.stackexchange.com/questions/253680/…
бета

Відповіді:


57

Гачки для створення користувацьких стовпців і пов'язані з ними даними для призначеного для користувача типу поста є 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;

    }
}

1
Дякую за цей гачок !!! Це геніально !! Немає чіткої документації на stackoverflow !!! : D
Привіт,

чи не існує жодної опції встановити номер стовпця? як column_index[2]. Оскільки у кінці стовпця з'являється custom_column.
Діліп Гупта

@DilipGupta $ столбцы - це масив, ви можете впорядкувати його перед тим, як повернути його
fogx

0

Я не впевнений, чи це стандартні метадані за замовчуванням, які ви хочете відображати як стовпці, але ви можете розглянути можливість використання цього безкоштовного плагіна, який дозволяє додавати стовпці для відображення спеціальних полів. https://wordpress.org/plugins/codepress-admin-column/

Професійна версія навіть дозволяє додавати фільтрування, сортування та вбудовувані редагування до цих стовпців.


НЕ ВИКОРИСТОВУВАТИ! Зламає ваш сайт: PHP Фатальна помилка: Неможливо передекларувати AC () (раніше оголошено в [відредаговано] \\ wp-content \\ теми \ [відредаговано] \\ function.php: 628) у [редактовано] \\ wp-content \\ плагіни \\ codepress-admin-column \\ api.php по лінії 9
Пітер Кіонга-Камау

@ PeterKionga-Kamau це питання сумісності з вашою конкретною темою. Помилка, яку ви опублікували, не з’явиться із темою WP за замовчуванням (наприклад, двадцять двадцять); Я також використовую плагін із темою Divi і вважаю це досить корисним
Philipp

Чи не існує якогось простору імен або використання менш загальних імен функцій, які можна було б уникнути цього?
Пітер Кіонга-Камау
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.