কাস্টম ট্যাক্সনমি ইনপুটগুলির চেহারা পরিবর্তন করে


14

আমি এমন একটি সাইটে কাজ করছি যা কয়েকটি কাস্টম ট্যাক্সনোমি ব্যবহার করবে (কাস্টম পোস্টের ধরণের জন্য)। আমি কিছু কিছু কর বিভাগকে শ্রেণিবিন্যাস করতে বেছে নিয়েছি কারণ মানগুলি ইনপুট করার পদ্ধতি (চেক বাক্সগুলি) এই সাইটটির জন্য নন-হায়ারার্কিকাল ট্যাক্সনোমির ফ্রি-ফর্ম ইনপুটের চেয়ে আরও আকাঙ্ক্ষিত। তবে কি আমি করব সত্যিই মতো চেক বাক্স পরিবর্তে রেডিও বোতাম ইনপুট ব্যবহার করতে সক্ষম হতে হয়। অতিরিক্তভাবে, আমি সেই শটটি ডাউনপোটিটি সরিয়ে ফেলতে চাই যা শ্রমশ্রেণীতে পিতা-মাতার আইটেম বেছে নিতে ব্যবহৃত হয়। স্ক্রিনশট

আমি কি এই ভুল পথে চলছি? আমি কি অ-স্তরের শ্রেণিবিন্যাস দিয়ে শুরু করব এবং পরিবর্তে সেগুলির জন্য ইনপুট পদ্ধতিগুলি সংশোধন করব? আমি ইনপুটটিতে সম্পূর্ণ উন্মুক্ত এবং খুশিভাবে কোনও প্রশ্নের জবাব দেব বা আমি পারলে আরও তথ্য সরবরাহ করব।


+1 ভাল প্রশ্ন। আমি যে প্রকল্পে কাজ করছি তাতে এটিও দুর্দান্ত হবে। অধিকন্তু, কাস্টম বিভাগটি "বিভাগ" এর তালিকার পরিবর্তে ড্রপডাউন মেনুতে থাকুন।
জ্যাক

হ্যাঁ, একটি ড্রপডাউনও দুর্দান্ত হবে।
ট্র্যাভিস নর্থক্যাট

1
এই দু'জনেই খুব অনুরূপ ইস্যু নিয়ে কাজ করছে বলে মনে হচ্ছে: কাস্টম পোস্টের ধরণ - ট্যাক্সোনমি ড্রপডাউন মেনু? এবং সুরক্ষার শর্তাদি সুরক্ষায় সহায়তা দরকার
মিশাল মৌ

বিদ্যমান মেটাবক্সকে সংশোধন করার চেষ্টা করার পরিবর্তে, আপনি যা যা দেখতে চাইতে পারেন তা হল প্রদত্ত শ্রেণীবদ্ধের জন্য ডিফল্ট মেটাবক্স সরিয়ে ফেলা, তারপরে একটি রেডিও গ্রুপের শর্তাবলী প্রদর্শন করে এমন একটি কাস্টম ফাংশন কল করার জন্য আপনার নিজের নিবন্ধকরণ করুন এবং এটি এর সাথে তাল মিলবে উপরে দুটি লিঙ্ক মোগলি দ্বারা সরবরাহ করা।
t31os

উত্তর:


13

নিশ্চিত বিষয়, 'admin_head'এটি অদৃশ্য করতে কেবল CSS এবং হুক ব্যবহার করুন । আমি বিশ্বাস করি আপনি এটি কি খুঁজছেন?

পিতামাতাকে ছাড়াই ওয়ার্ডপ্রেস পোস্ট পৃষ্ঠায় হায়ারার্কিকাল ট্যাকোনমি এন্ট্রি
(সূত্র: মাইকসচিনেল.কম )

আপনার থিমের functions.phpফাইলে বা .phpকোনও প্লাগইনের কোনও ফাইলে কেবল নিম্নলিখিতটি যুক্ত করুন যা আপনি লিখতে পারেন। নোট করুন যে আমি "হোম" পোস্টের ধরণ এবং "বাথ" শ্রেণিবদ্ধ 'init'সংজ্ঞায়নের জন্য একটি হুক অন্তর্ভুক্ত করেছি যাতে অন্যরা আরও সহজেই উদাহরণটি অনুসরণ করতে পারে। এছাড়াও মনে রাখবেন যে যদি আপনার শ্রেনীকরণের নাম বাথস হয় তবে আপনার পরিবর্তে সিএসএস নির্বাচনকারীকে পরিবর্তন করতে হবে :#newbaths_parent#newbath_parent

add_action('admin_head','remove_bath_parents');
function remove_bath_parents() {
  global $pagenow;
  if (in_array($pagenow,array('post-new.php','post.php'))) { // Only for the post add & edit pages
    $css=<<<STYLE
<style>
<!--
#newbath_parent {
  display:none;
}
-->
</style>
STYLE;
    echo $css;
  }
}
add_action('init','add_homes_and_baths');
function add_homes_and_baths() {
  register_post_type('home',
    array(
      'label'           => 'Homes',
      'public'          => true,
      'rewrite'         => array('slug' => 'homes'),
      'hierarchical'    => false,
    )
  );
  register_taxonomy('bath', 'home', array(
    'hierarchical'    => true,
    'label'           => 'Baths',
    'rewrite'         => array('slug' => 'baths' ),
    )
  );
}

হালনাগাদ

সুতরাং মনে হচ্ছে আমি প্রশ্নের রেডিও বোতামটি মিস করেছি । দুর্ভাগ্যক্রমে ওয়ার্ডপ্রেস এটি সহজ করে না তবে আপনি পিএইচপি আউটপুট বাফারিং ব্যবহার করে এটি করতে পারেন ( ob_start()এবং ob_get_clean()ফাংশনগুলির মাধ্যমে )) মেটাবক্স আউটপুট ( 'add_meta_boxes') এবং আউটপুট হওয়ার পরে একটি হুক খুঁজে বের করুন ( 'dbx_post_sidebar'এবং তারপরে ক্যাপচারটি সন্ধান করুন) এইচটিএমএল এর জন্য 'checkbox'এবং প্রতিস্থাপন করুন 'radio', এটি স্ক্রিনে প্রতিধ্বনি করুন এবং ইয়ার সম্পন্ন হয়েছে! কোড অনুসরণ:

add_action('add_meta_boxes','mysite_add_meta_boxes',10,2);
function mysite_add_meta_boxes($post_type, $post) {
  ob_start();
}
add_action('dbx_post_sidebar','mysite_dbx_post_sidebar');
function mysite_dbx_post_sidebar() {
  $html = ob_get_clean();
  $html = str_replace('"checkbox"','"radio"',$html);
  echo $html;
}

এবং প্রমাণ:

স্ক্রিনশট রেডিও বোতাম ব্যবহার করে কর বিভাগগুলি দেখায়
(সূত্র: মাইকসচিনেল.কম )


1
"দেখো মা, কোনও পিতামহীন ক্ষেত্র নেই!" মাইক, আপনি আমাকে হাসতে পেয়েছেন! : ডি
মিশাল মৌ

@ মগলি - এটি আমার ডিফল্ট। : ডি
মাইকচিনকেল

@ হাহা - খুশী হ'ল :)
মাইকচিন্কেল

কল্পনাপ্রসূত, বরাবরের মতো।
ট্র্যাভিস নর্থকাট

1
@ টনরথকুট - সত্যি বলতে, আমি আপনার নিজের মেটাবক্স কোড করার পরামর্শ দিই। আমি এটিই করেছি এবং এটি এর পক্ষে সত্যই কঠিন নয়। কেবলমাত্র একটি দর্শন উত্স এবং মিল <input>এবং <select>নামগুলি করুন এবং আপনাকে শৈলীটি ক্যাপচার করার জন্য কিছু করতে হবে না; ওয়ার্ডপ্রেস এটি আপনার জন্য করবে। বা, একটি কাস্টম ক্ষেত্র এবং বাইপাস শৈলী ব্যবহার করুন যা এর জন্য ওভারকিল হতে পারে।
মাইকচিন্কেল

2

বা, আপনি যদি অলস হন তবে এই প্লাগইনটি ব্যবহার করতে পারেন: একক মূল্য ট্যাক্সোনমি ইউআই

(আমি বরং মাইকের উত্তরে মন্তব্য হিসাবে এটি যুক্ত করব কারণ এটি বেশিরভাগ একই জিনিসটি করে - তবে আমি এখনও মন্তব্য যুক্ত করতে পারি না)


দুর্ভাগ্যক্রমে ২ বছরে কোনও আপডেট নেই :( এটি সত্যিই এমন কিছু যা ডাব্লুপিইর পক্ষে মূল সমর্থন যোগ করা উচিত কারণ এটি যদি বিকল্প হয় তবে লোকেরা এক-মেয়াদে-প্রতি-বস্তু করের সংজ্ঞা ব্যবহার করবে (যেমন ক্যোয়ারী পারফরম্যান্স গুরুত্বপূর্ণ যখন মেটাটার চেয়ে ট্যাক্সনোমি ব্যবহার করবে)।
জার্কার্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.