Menambahkan Kategori / Tag / Dukungan Taksonomi ke Gambar / Media

9

Saya sudah mencoba menambahkan dukungan kategori, tag, atau taksonomi khusus ke gambar (atau semua media, meskipun saya hanya mementingkan Gambar). Saya mendapatkannya sebagian dengan cara:

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);
}

Ini dengan benar menambahkan bidang Kategori Media ke layar media. Saya juga sudah mengkonfirmasi ini dapat diakses dengan get_the_terms($my_attachment_id, 'imagetype').

Di mana saya mengalami masalah adalah mendapatkan informasi ini untuk ditampilkan di mana saja di admin / dashboard kecuali ketika melihat media secara langsung - Saya ingin itu dalam sub-menu atau sebagai kolom khusus, atau keduanya, seperti yang dapat dilakukan untuk Posting dan Halaman.

Saya sudah mencoba menggunakan manage_posts_custom_columnbersama dengan manage_edit-attachment_columns, tapi tidak ada sama sekali yang muncul. Saya telah mencoba menggunakan add_media_pageuntuk menampilkan sesuatu seperti halaman yang dihasilkan secara otomatis untuk kategori Halaman dan Posting, tetapi di sini saya mengalami kesulitan menarik gambar yang saya berikan kategori. Anda dapat melihat kedua upaya di sini: http://pastebin.com/S8KYTKRM

Terima kasih sebelumnya atas bantuannya!

Roxanne Siap
sumber

Jawaban:

8

Inilah cara saya baru-baru ini menambahkan taksonomi khusus ke perpustakaan media sebagai kolom yang dapat diurutkan:

// 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;
    }
}
marfarma
sumber
Terima kasih! Filter dan aksi adalah bagian yang saya lewatkan.
Roxanne Siap
Untuk membuat setiap item dalam diklik kolom, saya menambahkan <a>tag ke $ dengan: href="upload.php?imagetype='.$tag->slug.'".
Roxanne Siap