क्या डिफ़ॉल्ट "पोस्ट टैग" कर नाम बदल दिया जा सकता है?


16

मैं पोस्ट और 2 कस्टम पोस्ट प्रकार (टैग द्वारा संग्रह / एकत्रीकरण के लिए अनुमति देने के लिए) टैग का एक सामान्य सेट प्रदान करने के लिए डिफ़ॉल्ट "पोस्ट टैग" का उपयोग करना चाहता हूं।

मैं "पोस्ट टैग" को कुछ और करने के लिए "सामान्य टैग" जैसे "सामान्य टैग" का नाम बदलना चाहता हूं - इसे थोड़ा स्पष्ट करने के लिए, खासकर जब यह टैक्सोनॉमी अन्य कस्टम पोस्ट प्रकारों से जुड़ी होती है।

तो, क्या Wordpress के भीतर ऐसा करने का कोई तरीका है, या मैं इसे SQL के माध्यम से करता हूं। इसके अलावा, किसी को भी पता है कि क्या यह उम्मीद है कि यह करणीय "पद टैग" के साथ मौजूद है

जवाबों:


23

वर्गीकरण के बारे में जानकारी वैश्विक $wp_taxonomiesसरणी में संग्रहीत है । यदि आप एक नई वर्गीकरण को पंजीकृत करते हैं, तो इसे यूआई में उपयोग करने के लिए लेबल सहित विभिन्न गुणों के साथ एक वस्तु के रूप में जोड़ा जाता है। प्रत्येक पृष्ठ लोड पर मानक टैग और श्रेणियां भी पंजीकृत हैं, जिस create_initial_taxonomies()फ़ंक्शन पर आग लगी है init

चूंकि यह वस्तुओं का एक सरल सरणी है, हम इसे संशोधित कर सकते हैं और देख सकते हैं कि क्या होता है। जिन गुणों में हम रुचि रखते हैं, वे हैं labelsऔर label

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

मैंने इसे हर जगह नहीं देखा है, और शायद आपको इसे अपने विषय में स्वयं बदलना होगा, लेकिन यह वही है जो आप चाहते हैं:

नए लेबल के साथ मेटाबेस को टैग करें


एक अच्छा - मैं इसे एक रिपोर्ट और वापस दे दूँगा। धन्यवाद
अनु

वास्तव में मुझे क्या चाहिए वैश्विक रूप से $ टैक्सोनोमीज़ के बारे में पता नहीं था
हेलगेटहाइकिंग

इस कोड का उपयोग करते समय एक छोटा सा मुद्दा: अगर मैं DEBUG के साथ WP 3.8.1 चलाता हूं: तो सच है, मुझे प्रत्येक टैग के संपादन पृष्ठ पर एक नोटिस दिखाई देता है: "सूचना: अपरिभाषित संपत्ति: stdClass :: $ view_item in / wp-शामिल / व्यवस्थापक - लाइन 508 ​​पर ".php"। दरअसल, अगर मैं सूची में "view_item" लेबल जोड़ता हूं (WPA 4182 देखें), तो नोटिस चला जाता है।
मनु

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


यह डिफ़ॉल्ट श्रेणी के टैक्सोनॉमी, महान उत्तर के नाम को समायोजित करने का सबसे आसान तरीका है।
सेराओजेस

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;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.