ইতিমধ্যে নিবন্ধীকৃত একটি শৈলী কীভাবে সংশোধন করবেন


18

আজ আমার তৃতীয় পক্ষের প্লাগইন দ্বারা ইতোমধ্যে নিবন্ধিত একটি কাস্টম ট্যাক্সনোমিতে যুক্তিগুলি পরিবর্তন করা দরকার । বিশেষত আমি show_admin_columnযুক্তিটি সেট করতে trueএবং rewriteস্লাগটি পরিবর্তন করতে চেয়েছিলাম যাতে এটি কেবল শ্রেণিবদ্ধ স্লাগ নয়। এই ক্ষেত্রে এটি একটি "লোক বিভাগ" কাস্টম ট্যাক্সনোমি সহ একটি "লোক" পোস্ট টাইপ ছিল।

আমি অবাক হয়েছি এটি আগে জিজ্ঞাসা করা হয়নি, তাই এখানে একটি প্রশ্ন এবং উত্তর।


আটকা পড়ার জন্য কেবলমাত্র একটি পার্শ্ব নোট, ফলাফলটি যাচাইয়ের আগে পারমালিকগুলি ফ্লাশ করতে ভুলবেন না।
un.pez.vivo

উত্তর:


22

register_taxonomy()কাজের জন্য সরঞ্জাম। কোডেক্স থেকে:

এই ফাংশনটি একটি সংজ্ঞা যুক্ত করে বা ওভাররাইট করে।

একটি বিকল্প register_taxonomy() $argsহ'ল অনুলিপি করা এবং সেগুলি সংশোধন করা। তবে এর অর্থ register_taxonomy()হ'ল আসল কোডে ভবিষ্যতের যে কোনও পরিবর্তনগুলি ওভাররাইট করা হবে।

অতএব, অন্তত এই ক্ষেত্রে, মূল যুক্তিগুলি পাওয়া ভাল, আমি যেটি পরিবর্তন করতে চাই সেগুলি সংশোধন করুন এবং তারপরে বিভাগটি পুনরায় নিবন্ধন করুন। এই সমাধানের জন্য অনুপ্রেরণা কাস্টম পোস্টের ধরণের সম্পর্কে অনুরূপ প্রশ্নের উত্তরে @ অটোতে যায় ।

উদাহরণ থেকে 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তাই এই আমার অধিকার মতানুযায়ী, কোডেক্স অনুযায়ী।


আমি ফ্ল্যাট শৈলীকে একটি শ্রেণিবিন্যাসের শ্রেণীবিন্যাসে পরিবর্তন করার জন্য এটি করার চেষ্টা করছি। আমি কেবল শ্রেণিবদ্ধ সম্পত্তিটিকে সত্যে পরিবর্তন করছি। এটি করে, এটি সম্পাদনা পোস্টের পর্দার ডানদিকে শৈলীর জন্য দুটি মেটা বাক্স তৈরি করে এবং আমি প্রকৃতপক্ষে ট্যাক্সোনমিগুলি যুক্ত করতে পারিনি ...
জোয়েল ওয়ারশাম

নিশ্চিত হয়ে নিন যে আপনি একই স্লাগটি (যেমন 'people_category') মূল টেকনোমি হিসাবে ব্যবহার করেছেন যাতে আপনি এটি ওভাররাইট করে।
mrwweb

1
জিনিয়াস! বিশুদ্ধ প্রতিভা! নিখুঁতভাবে কাজ করেছেন!
ডেভিজেক

1
আমি এই সমাধানটিতে একটি সমস্যা পেয়েছি: capabilitiesপ্যারামিটারটি অভ্যন্তরীণভাবে সঞ্চিত রয়েছে capযাতে এটি নতুন নিবন্ধভুক্ত শ্রেণিবদ্ধে পাস হবে না। অনুরূপ প্রশ্নের আমার উত্তরটি এখানে দেখুন
ফ্যাবিয়েন কোয়াটারভাক্স

1
এটি দুর্দান্ত, আমি এটি একটি কাস্টম ট্যাক্সনোমিতে শ্রেণিবিন্যাসের url যুক্ত করতে ব্যবহার করেছি।
ব্রায়ান পিট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.