기본 "포스트 태그"분류법의 이름을 바꿀 수 있습니까?


16

기본 "포스트 태그"분류법을 사용하여 게시물과 태그에 따라 수집 / 집계를 허용하는 두 가지 사용자 정의 게시물 유형에 공통 태그 세트를 제공하려고합니다.

"일반 태그"와 같은 "포스트 태그"분류 체계를 다른 이름으로 바꾸고 싶습니다. 특히이 분류 체계가 다른 사용자 정의 포스트 유형에 첨부되어있을 때 좀 더 명확 해집니다.

따라서 Wordpress 내 에서이 작업을 수행 할 수있는 방법이 있습니까? 아니면 SQL을 통해 수행합니까? 또한이 분류 체계가 nane "post tags"와 함께 존재한다는 기대가있는 사람은 누구나 알고 있습니다.

답변:


23

분류법에 대한 정보는 전역 $wp_taxonomies배열에 저장됩니다 . 새 분류 체계를 등록하면 UI에서 사용할 레이블을 포함하여 다른 특성을 가진 객체로 추가됩니다. 표준 태그 및 카테고리도 각 페이지로드에서 시작 되는 create_initial_taxonomies()기능 과 함께 등록 됩니다 init.

객체의 간단한 배열이므로 수정하여 어떤 일이 발생하는지 확인할 수 있습니다. 관심있는 속성은 labelslabel입니다.

add_action( 'init', 'wpa4182_init');
function wpa4182_init()
{
    global $wp_taxonomies;

    // The list of labels we can modify comes from
    //  http://codex.wordpress.org/Function_Reference/register_taxonomy
    //  http://core.trac.wordpress.org/browser/branches/3.0/wp-includes/taxonomy.php#L350
    $wp_taxonomies['post_tag']->labels = (object)array(
        'name' => 'WPA 4182 Tags',
        'menu_name' => 'WPA 4182 Tags',
        'singular_name' => 'WPA 4182 Tag',
        'search_items' => 'Search WPA 4182 Tags',
        'popular_items' => 'Popular WPA 4182 Tags',
        'all_items' => 'All WPA 4182 Tags',
        'parent_item' => null, // Tags aren't hierarchical
        'parent_item_colon' => null,
        'edit_item' => 'Edit WPA 4182 Tag',
        'update_item' => 'Update WPA 4182 Tag',
        'add_new_item' => 'Add new WPA 4182 Tag',
        'new_item_name' => 'New WPA 4182 Tag Name',
        'separate_items_with_commas' => 'Separata WPA 4182 tags with commas',
        'add_or_remove_items' => 'Add or remove WPA 4182 tags',
        'choose_from_most_used' => 'Choose from the most used WPA 4182 tags',
    );

    $wp_taxonomies['post_tag']->label = 'WPA 4182 Tags';
}

나는 그것을 어디에서나 확인하지 않았으며 아마도 테마에서 직접 변경해야하지만 이것이 원하는 것을하는 것처럼 보입니다.

새 라벨이 포함 된 태그 메타 박스


좋은 점-이걸보고 다시보고하겠습니다. 감사합니다
anu

정확히 내가 필요한 것. 은 $ 분류 체계에 대한 글로벌 몰랐어요
helgatheviking

이 코드를 사용할 때 한 가지 작은 문제 : DEBUG : true와 함께 WP 3.8.1을 실행하면 각 태그의 편집 페이지에 "알림 : 정의되지 않은 속성 : stdClass :: $ view_item / wp-includes / admin"이 표시됩니다. 508 행의 -bar.php " 실제로 "view_item"레이블을 목록에 추가하면 (View WPA 4182) 알림이 사라집니다.
Manu

3

카테고리 분류 체계를 제거한 다음 자신 만의 분류 체계를 만들 수 있습니다.

내 예에서는 게시물 분류 분류법을 제거하고 주제 분류법으로 대체했습니다.

add_action( 'init', 'unregister_taxonomy' );
function unregister_taxonomy() {
    global $wp_taxonomies;
    $taxonomy = 'category';
    if ( taxonomy_exists($taxonomy) ){
        unset( $wp_taxonomies[$taxonomy] );
    }
}

function article_subjects() {
    $labels = array(
        'name'                       => _x( 'Subjects', 'Taxonomy General Name', 'dc' ),
        'singular_name'              => _x( 'Subject', 'Taxonomy Singular Name', 'dc' ),
        'menu_name'                  => __( 'Subjects', 'dc' ),
        'all_items'                  => __( 'All Items', 'dc' ),
        'parent_item'                => __( 'Parent Item', 'dc' ),
        'parent_item_colon'          => __( 'Parent Item:', 'dc' ),
        'new_item_name'              => __( 'New Subject', 'dc' ),
        'add_new_item'               => __( 'Add New Item', 'dc' ),
        'edit_item'                  => __( 'Edit Item', 'dc' ),
        'update_item'                => __( 'Update Item', 'dc' ),
        'separate_items_with_commas' => __( 'Separate items with commas', 'dc' ),
        'search_items'               => __( 'Search Items', 'dc' ),
        'add_or_remove_items'        => __( 'Add or remove items', 'dc' ),
        'choose_from_most_used'      => __( 'Choose from the most used items', 'dc' ),
        'not_found'                  => __( 'Not Found', 'dc' ),
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => false,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'article_subjects', array( 'post' ), $args );
}
add_action( 'init', 'article_subjects', 0 );

이것이 바로 내가 필요한 것입니다. 감사! 나는 한가지 작은 변화 만 만들었다 : english.stackexchange.com/questions/25931/…
tehlivi

2

특정 카테고리 레이블의 이름을 바꾸십시오.

add_action('init', 'renameCategory');
function renameCategory() {
    global $wp_taxonomies;

    $cat = $wp_taxonomies['category'];
    $cat->label = 'My Categories';
    $cat->labels->singular_name = 'My Categorie';
    $cat->labels->name = $cat->label;
    $cat->labels->menu_name = $cat->label;
    //…
}

레이블 : http://codex.wordpress.org/Function_Reference/register_taxonomy#Arguments


이것은 기본 카테고리 분류법의 이름을 조정하는 가장 쉬운 방법입니다.
serraosays

0

에서 여기

// hook the translation filters
add_filter(  'gettext',  'change_post_to_article'  );
add_filter(  'ngettext',  'change_post_to_article'  );

function change_post_to_article( $translated ) {
     $translated = str_ireplace(  'Post',  'Article',  $translated );  // ireplace is PHP5 only
     return $translated;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.