मैं विभिन्न कस्टम पोस्ट प्रकार और टैक्सोनोमी बना रहा हूं और मैं डिफ़ॉल्ट 'पोस्ट' पोस्ट प्रकार से 'पोस्ट टैग' वर्गीकरण को हटाना चाहता हूं। मैं यह कार्य कैसे करूं?मैं वर्डप्रेस से वर्गीकरण कैसे हटा सकता हूं?
धन्यवाद।
मैं विभिन्न कस्टम पोस्ट प्रकार और टैक्सोनोमी बना रहा हूं और मैं डिफ़ॉल्ट 'पोस्ट' पोस्ट प्रकार से 'पोस्ट टैग' वर्गीकरण को हटाना चाहता हूं। मैं यह कार्य कैसे करूं?मैं वर्डप्रेस से वर्गीकरण कैसे हटा सकता हूं?
धन्यवाद।
कहां कहता है 'taxonomy_to_remove
' वह जगह है जहां आप उस वर्गीकरण को दर्ज करेंगे जिसे आप निकालना चाहते हैं। उदाहरण के लिए आप इसे मौजूदा, post_tag
या category
से प्रतिस्थापित कर सकते हैं।
add_action('init', 'unregister_taxonomy');
function unregister_taxonomy(){
global $wp_taxonomies;
$taxonomy = 'taxonomy_to_remove';
if (taxonomy_exists($taxonomy))
unset($wp_taxonomies[$taxonomy]);
}
मेरा सुझाव है कि आप वास्तविक वैश्विक के साथ गड़बड़ नहीं करते हैं। पोस्ट प्रकार से वर्गीकरण को आसानी से अपनाना सुरक्षित है: register_taxonomy दोनों सृजन और संशोधन दोनों के लिए उपयोग किया जाता है।
function ev_unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('init', 'ev_unregister_taxonomy');
साइडबार मेनू प्रविष्टि निकालने के लिए:
// Remove menu
function remove_menus(){
remove_menu_page('edit-tags.php?taxonomy=post_tag'); // Post tags
}
add_action('admin_menu', 'remove_menus');
मेरे लिए काम करता है छुपाता है! सबसे स्थानीयकृत प्रभाव की तरह लगता है। –
यह काम करता है, लेकिन साइडबार में लिंक अभी भी है! –
साइडबार मेनू प्रविष्टि को हटाने का तरीका यहां दिया गया है: 'function remove_menus() { remove_menu_page (' edit-tag.php? Taxonomy = post_tag '); // पोस्ट टैग } add_action ('admin_menu', 'remove_menus'); ' – pixeline
'admin_init' में इसका इस्तेमाल हुक insetead नहीं 'init'
function unregister_taxonomy(){
register_taxonomy('post_tag', array());
}
add_action('admin_init', 'unregister_taxonomy');
शायद एक और अधिक तकनीकी रूप से सही विधि का उपयोग किया जाएगा unregister_taxonomy_for_object_type
add_action('init', 'unregister_tags');
function unregister_tags() {
unregister_taxonomy_for_object_type('post_tag', 'post');
}
आवश्यक नहीं हो सकता है लेकिन आप यह जांच सकते हैं कि क्या वर्गीकरण पहले से ही ऑब्जेक्ट प्रकार से जुड़ा हुआ है, यदि इसे 'if (is_object_in_taxonomy (' पोस्ट ',' post_tag ')) {...} ' – martisj
वर्डप्रेस से वर्गीकरण को हटाने के लिए नया कार्य है।
Use unregister_taxonomy(string $taxonomy) function
विवरण देखें: https://developer.wordpress.org/reference/functions/unregister_taxonomy/
इसका उपयोग अंतर्निहित टैक्सोनोमीज़ के लिए नहीं किया जा सकता है, इसलिए संभवतः इसका उपयोग' टैग 'के लिए नहीं किया जा सकता है? –
को हटाने में निर्मित टैग की तरह वर्गीकरण हम नीचे इस फ़ंक्शन का उपयोग कर सकते हैं के लिए: समारोह mh_unregister_tags_for_posts() { unregister_taxonomy_for_object_type ('post_tag', 'पोस्ट'); } add_action ('init', 'mh_unregister_tags_for_posts'); –
add_action('admin_menu', 'remove_menu_items'); function remove_menu_items() { remove_submenu_page('edit.php','edit-tags.php?taxonomy=post_tag'); }
कुल अपंजीकृत और हटाने
add_action('init', function(){
global $wp_taxonomies;
unregister_taxonomy_for_object_type('category', 'post');
unregister_taxonomy_for_object_type('post_tag', 'post');
if (taxonomy_exists('category'))
unset($wp_taxonomies['category']);
if (taxonomy_exists('post_tag'))
unset($wp_taxonomies['post_tag']);
unregister_taxonomy('category');
unregister_taxonomy('post_tag');
});
सवाल का जवाब नहीं है (कम से कम PHP संस्करण 5.4!)। यह सिर्फ – Jeremy