이미지 / 미디어에 카테고리 / 태그 / 택시 노미 지원 추가


9

이미지 (또는 이미지에만 관심이 있지만)에 카테고리, 태그 또는 사용자 정의 분류 지원을 이미지 (또는 모든 미디어)에 추가하려고했습니다. 나는 부분적으로 알아 냈습니다.

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

미디어 카테고리 필드가 미디어 화면에 올바르게 추가됩니다. 또한에 액세스 할 수 있음을 확인했습니다 get_the_terms($my_attachment_id, 'imagetype').

내가 곤경에 처한 곳은 미디어를 직접 볼 때를 제외 하고는이 정보가 관리자 / 대시 보드의 어느 곳에 나 표시되도록하는 것입니다. 게시물 및 페이지.

manage_posts_custom_column와 함께 사용하려고 manage_edit-attachment_columns했지만 아무것도 표시되지 않습니다. add_media_page페이지 및 게시물 카테고리에 대해 자동으로 생성 된 페이지와 같은 것을 표시하는 데 사용하려고 했지만 여기에서 카테고리를 부여한 이미지를 가져 오는 데 문제가 있습니다. 여기에서 두 가지 시도를 모두 볼 수 있습니다 : http://pastebin.com/S8KYTKRM

도움을 주셔서 감사합니다.

답변:


8

다음은 최근에 미디어 라이브러리에 정렬 가능한 열로 사용자 지정 분류법을 추가 한 방법입니다.

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

감사합니다! 필터와 액션은 내가 놓친 조각이었습니다.
Roxanne Ready

열의 각 항목을 클릭 할 수 있도록하기 위해 <a>$ out에 태그를 추가했습니다 : href="upload.php?imagetype='.$tag->slug.'".
Roxanne Ready
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.