কাস্টম পোস্ট ধরণের স্ক্রীন থেকে কাস্টম ট্যাক্সনমি মেটাবক্স সরান


17

আমার দুটি পৃথক শ্রেণিবদ্ধ কাস্টম ট্যাক্সনোমী রয়েছে, প্রত্যেকটি একই কাস্টম পোস্ট ধরণের। আমি পোস্ট টাইপের সম্পাদনা স্ক্রিনের প্রত্যেকটির জন্য মেটাবক্স সরিয়ে দিতে চাই।

আমি কাস্টম ট্যাক্সনমি বিপাক কাস্টম পোস্টের ধরণের অপসারণটি পড়েছি এবং আপনি কোনও বিভাগ-শৈলী (শ্রেণিবিন্যাস) শ্রেণিবিন্যাস বিপাকটি কীভাবে সরিয়ে ফেলবেন? তবে আমি এখনও আটকে আছি

আমি যে ফাংশনটি ব্যবহার করছি তা হ'ল:

function remove_taxonomies_metaboxes() {
    remove_meta_box( 'partner_typediv', 'partners', 'normal' );
    remove_meta_box( 'person_typediv', 'people', 'normal' );
}
add_action( 'admin_menu' , 'remove_taxonomies_metaboxes' );

আমি পোস্ট_ টাইপগুলি এবং কাস্টম_ট্যাক্সনোমিজগুলি প্রাক-সংশোধন করেছি, তবে এটি। আমি কোডেক্স দ্বারা প্রস্তাবিত admin_menuহুক এবং হুক ব্যবহার করার চেষ্টা করেছি add_meta_boxes। আমি উভয় normalএবং sideতৃতীয় প্যারামিটার চেষ্টা করেছি ।

উপরের ফাংশনটি ফাংশনের mu-pluginsনীচে এমন একটি ফাইলে অবস্থিত যা পোস্টের ধরণগুলি এবং বিভাগসমূহকে নিবন্ধিত করে।


সম্পাদনা: এটি রেজিস্টার_ট্যাক্সনমি ফাংশনের একটি টাইপ ছিল। আমি ভয়াবহ মানুষ সহায়তার জন্য প্রত্যেককে ধন্যবাদ। আমি এখনও কিছু জিনিস শিখেছি!


এমনকি সাথে 'show_ui' => false?
জেমাউ

1
আমি মেনুতে এখনও ইউআই চাই, কোনও পোস্ট সম্পাদনা করার সময় নয়।
mrwweb

উত্তর:


37

যদি আপনি নিজেই রেজিস্ট্রেশন_ট্যাক্সনমির মাধ্যমে নিজের কাস্টম শৈলীটি নিবন্ধভুক্ত করছেন তবে কোথায় মেটাবক্স উপস্থিত হবে তা নিয়ন্ত্রণ করতে আপনি তর্ক করতে পারেন।

সেটিং নীচের উদাহরণে show_uiকরতে falseসম্পূর্ণরূপে সম্পাদন করা পর্দা, দ্রুত সম্পাদনা পর্দা, এবং প্রশাসক মেনু থেকে metabox সরিয়ে দেবেন। কিন্তু আপনি যদি সেট show_uiকরা trueতারপর আপনি ব্যবহার করে আরো nuanced নিয়ন্ত্রণ অর্জন করতে পারেন show_in_quick_editএবং meta_box_cbআর্গুমেন্ট (পরে মিথ্যা চামড়া থেকে CPT সম্পাদন করা পর্দায় metabox কাঙ্ক্ষিত সেটিং)।

register_taxonomy( 'your_custom_taxonomy', array( 'your_custom_post_type' ), $args );
$args = array(
    'show_ui'                    => true,
    'show_in_quick_edit'         => false,
    'meta_box_cb'                => false,
);

এটা কাজ. অ্যাডমিন মেনু রাখুন এবং কাস্টম পোস্টের ধরণে নতুন আকার যুক্ত করুন in ধন্যবাদ।
আইটি ভ্লোগস

ধন্যবাদ! নতুন-পরবর্তী পোস্টে এটি লুকানোর জন্য আমি 'মেটা_বক্স_সিবি' => এর সন্ধান করছিলাম, যেখানে এটিকে নির্ধারণ করা কেবল ডিফল্ট ওয়ার্ডপ্রেস সংস্করণ প্রদর্শন করে।
রায়ান এইচ


7

আপনি বলছেন যে আপনি postপোস্টের ধরণের পর্দা নয়, সম্পাদনা পর্দা থেকে বাক্সগুলি সরাতে চান , তাই ধরে নিচ্ছেন যে আপনি যে পোস্টের জন্য প্রয়োগ করতে চান কেবল তার জন্যই আপনার ট্যাক্সশাসনটি নিবন্ধিত করতে সক্ষম হওয়া উচিত এবং এটি পুরোপুরি এড়ানো উচিত। কোডেক্সের উদাহরণটি কেবল bookপোস্ট ধরণের জন্য নমুনা বিভাগের রেজিস্ট্রেশন করে :

register_taxonomy( 'genre', array( 'book' ), $args );

আমার মনে হয় আপনার এটি করা দরকার তবে আপনি পোস্টের ধরণের বা বিভাগের জন্য কোনও নিবন্ধকরণ কোড পোস্ট করেননি।

যদি আপনি নিজেই মেটা বাক্স তৈরি করেন - অর্থাৎ, এই বাক্সগুলি ডিফল্ট নয় - তবে এই সমস্যাটি এড়ানোর উপায় হ'ল মেটা বক্সগুলি পোস্ট-টাইপ নির্দিষ্ট হুকগুলিতে নিবন্ধিত করা :

do_action('add_meta_boxes_' . $post_type, $post);

বা উপরের উদাহরণটি অনুসরণ করতে:

add_action('add_meta_boxes_book', 'your-box-callback');

এই পদ্ধতির একটি আপনার পক্ষে সমাধান করা উচিত। আমি মনে করি না যে আপনার মোটেও ব্যবহার remove_meta_boxকরা উচিত ।

যদি আপনি মেটা বাক্সগুলি যে ধরণের রেজিস্টার্ড করা হয় সেগুলি থেকে মুছে ফেলার চেষ্টা করছেন, এটি কাজ করে (আবার কোডেক্সের উদাহরণ অনুসরণ করে):

function remove_taxonomies_metaboxes() {
    remove_meta_box( 'genrediv', 'book', 'side' );
}
add_action( 'add_meta_boxes_book' , 'remove_taxonomies_metaboxes' );

আমি বেশ নিশ্চিত যে admin_menuএটি খুব তাড়াতাড়ি, তবে এটি যাচাই করে নি। add_metaboxesআমার জন্য কাজ করে। কেন জানি এটি আপনার পক্ষে কাজ করে না।


অস্পষ্ট হওয়ার জন্য দুঃখিত। আমি পোস্ট টাইপ পর্দা বোঝাতে চাইছি । প্রতিটি বিভাগে কেবলমাত্র একটি কাস্টম পোস্ট ধরণের নিবন্ধিত হয়। আমি add_meta_boxes_ * হুকটি সংক্ষেপে ব্যবহারের চেষ্টা করেছি তবে আমি তার উপর কিছু প্রকারের চেষ্টা করতে যাব (যদিও আমি স্বতঃ-উত্পন্ন মেটাবক্সগুলি ব্যবহার করছি)।
mrwweb

তারপরে উত্তরের শেষ বিকল্পটি এটি করা উচিত। আমি এটি পরীক্ষা করেছি। বাক্সটি চলে যায়। আমি বলতে পারি না যে আমি বাক্সগুলি ছাড়াই ট্যাক্সনোমির যুক্তিটি বুঝতে পারি।
s_ha_dum

(উপরের সম্পাদনাটি দেখুন It এটি একটি টাইপ ছিল That's এটি আমার উপর ... সহায়তার জন্য ধন্যবাদ) আপনার প্রশ্নের উত্তর দেওয়ার জন্য, আমি একটি উন্নত কাস্টম ফিল্ড (এটি সাইটের ব্যবহারকারীদের জন্য আরও ভাল ইন্টারফেস) দিয়ে কর বিভাগগুলি প্রদর্শন করছি।
mrwweb

আপনার শেষ উদাহরণটি আমাকে সঠিক দিকে নিয়ে গেছে, তবে এটিই আমার পক্ষে কাজ করেছে: add_action ('অ্যাডমিন_মেনু', 'অপসারণ_তক্ষমণি_মেটাবক্স');
মার্কোস বুয়ার্ক

আমি এই সিনট্যাক্সটি ওয়ার্ডপ্রেসের বর্তমান সংস্করণে কাজ করে না, কার্যক্ষম সমাধানের জন্য এই উত্তরটি পরীক্ষা করে দেখুন ।
ডেভি

3

কাস্টম ট্যাক্সোনোমিজ পরিচালনার জন্য এসিএফ ব্যবহার করে, ডিফল্ট বিপাকগুলি অপ্রয়োজনীয় are আমি এই কোডটি সফলভাবে চেষ্টা করেছি:

      function remove_cuttax_metaboxes() {
           $post_type = 'post';
           $taxonomy = 'custom_taxonomy_slug';
           remove_meta_box( 'tagsdiv'.$taxonomy, $post_type, 'side' );

       }
       add_action( 'admin_menu' , 'remove_cuttax_metaboxes', 100 );

স্বল্প অগ্রাধিকার (100) যদি এই কোডটি সিপিটি-ইউআইয়ের মতো প্লাগইন তৈরি করে থাকে তবে কোডটিও কাজ করতে দিন।


ট্যাগসডিভের পিছনে হওয়া উচিত -: remove_meta_box( 'tagsdiv-'.$taxonomy, $post_type, 'side' );
গ্রেগ হেইগড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.