register_taxonomy()
नौकरी के लिए उपकरण है। कोडेक्स से:
यह फ़ंक्शन एक वर्गीकरण को जोड़ता या अधिलेखित करता है।
एक विकल्प यह होगा कि उन्हें कॉपी करके register_taxonomy()
$args
संशोधित किया जाए। हालांकि, इसका मतलब यह होगा कि भविष्य में मूल register_taxonomy()
कोड में किसी भी तरह का बदलाव किया जाएगा।
इसलिए, कम से कम इस मामले में, मूल तर्क प्राप्त करना बेहतर है, उन लोगों को संशोधित करें जिन्हें मैं बदलना चाहता हूं, और फिर वर्गीकरण को फिर से पंजीकृत करें। इस समाधान के लिए प्रेरणा कस्टम पोस्ट प्रकारों के बारे में इसी तरह के प्रश्न के उत्तर में @Otto पर जाती है ।
उदाहरण से people
कस्टम पोस्ट प्रकार और people_category
वर्गीकरण का उपयोग करना , यह यह करेगा:
function wpse_modify_taxonomy() {
// get the arguments of the already-registered taxonomy
$people_category_args = get_taxonomy( 'people_category' ); // returns an object
// make changes to the args
// in this example there are three changes
// again, note that it's an object
$people_category_args->show_admin_column = true;
$people_category_args->rewrite['slug'] = 'people';
$people_category_args->rewrite['with_front'] = false;
// re-register the taxonomy
register_taxonomy( 'people_category', 'people', (array) $people_category_args );
}
// hook it up to 11 so that it overrides the original register_taxonomy function
add_action( 'init', 'wpse_modify_taxonomy', 11 );
ऊपर ध्यान दें कि मैं तीसरे register_taxonomy()
सरणी को अपेक्षित सरणी प्रकार में टाइप करता हूं । यह कड़ाई से आवश्यक नहीं है क्योंकि register_taxonomy()
उपयोग करता है wp_parse_args()
जो एक object
या संभाल कर सकते हैं array
। जिसके अनुसार, register_taxonomy()
के $args
एक के रूप में प्रस्तुत किया जाना चाहिए array
ताकि यह मेरे लिए सही लगता है, कोडेक्स के अनुसार।