Thêm Danh mục / Thẻ / Hỗ trợ phân loại vào hình ảnh / Phương tiện


9

Tôi đã cố gắng thêm danh mục, thẻ hoặc hỗ trợ phân loại tùy chỉnh vào hình ảnh (hoặc tất cả phương tiện, mặc dù tôi chỉ quan tâm đến Hình ảnh). Tôi đã hiểu nó một cách tìm ra:

add_action('init', 'create_image_taxonomies');

function create_image_taxonomies() {
$labels = array(
    'name' => 'Media Category'
);

$args = array(
    'labels' => $labels,
    'public' => true
);

register_taxonomy('imagetype', 'attachment', $args);
}

Điều này thêm một trường Media Category vào màn hình phương tiện. Tôi cũng đã xác nhận điều này có thể được truy cập với get_the_terms($my_attachment_id, 'imagetype').

Trường hợp tôi gặp rắc rối là thông tin này sẽ hiển thị ở bất kỳ đâu trong quản trị viên / bảng điều khiển ngoại trừ khi xem phương tiện trực tiếp - tôi muốn thông tin đó trong menu phụ hoặc dưới dạng cột tùy chỉnh hoặc cả hai, như có thể được thực hiện cho Bài viết và trang.

Tôi đã thử sử dụng manage_posts_custom_columncùng manage_edit-attachment_columns, nhưng không có gì hiển thị cả. Tôi đã cố gắng sử dụng add_media_pageđể hiển thị nội dung như trang được tạo tự động cho các danh mục Trang và Bài đăng, nhưng ở đây tôi gặp sự cố khi kéo các hình ảnh mà tôi đã đưa ra các danh mục. Bạn có thể thấy cả hai lần thử tại đây: http://pastebin.com/S8KYTKRM

Cảm ơn trước sự giúp đỡ!

Câu trả lời:


8

Đây là cách gần đây tôi đã thêm một phân loại tùy chỉnh vào thư viện phương tiện dưới dạng một cột có thể sắp xếp:

// Add a new column
add_filter('manage_media_columns', 'add_topic_column');
function add_topic_column($posts_columns) {
    $posts_columns['att_topic'] = _x('Topic', 'column name');
    return $posts_columns;
}

// Register the column as sortable
function topic_column_register_sortable( $columns ) {
    $columns['att_topic'] = 'att_topic';
    return $columns;
}
add_filter( 'manage_upload_sortable_columns', 'topic_column_register_sortable' );

add_action('manage_media_custom_column', 'manage_attachment_topic_column', 10, 2);
function manage_attachment_topic_column($column_name, $id) {
    switch($column_name) {
    case 'att_topic':
        $tagparent = "upload.php?";
        $tags = wp_get_object_terms( $id, 'taxonomy_name', '' );
        if ( !empty( $tags ) ) {
            $out = array();
            foreach ( $tags as $c )
                $out[] = "<a href='".$tagparent."tag=$c->slug'> " . esc_html(sanitize_term_field('name'
                         , $c->name, $c->term_id, 'post_tag', 'display')) . "</a>";
            echo join( ', ', $out );
        } else {
            _e('No Topics');
        }
        break;
    default:
        break;
    }
}

Cảm ơn bạn! Bộ lọc và hành động là những phần tôi bị thiếu.
Roxanne Ready

Để làm cho mỗi mục trong cột có thể nhấp, tôi đã thêm một <a>thẻ vào $ out với : href="upload.php?imagetype='.$tag->slug.'".
Roxanne Ready
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.