Create custom taxonomy in wordpress


custom post type ဘယ္လို တည္ေဆာက္တယ္ဆိုတာ မဖတ္ရေသးရင္ ေအာက္က link မွာ ဖတ္ႏိုင္ပါတယ္။
Create custom post type in wordpress
custom post type လုပ္တတ္သြားျပီဆိုရင္ အခု ကိုယ္ပိုင္ post type ေတြ ျပဳလုပ္ႏိုင္ေတာ႔မွာျဖစ္ပါတယ္။
ဥပမာ။  ။ food , shop အစရွိသျဖင့္ ကိုယ္လုပ္ခ်င္တဲ႔ post type ကို ဖန္တီးႏိုင္သြားမွာပါ။
ဒါေပမယ့္ တစ္ခုလိုေသးတာက အဲဒီ food ကို မွ category ခြဲခ်င္လာတဲ႔အခါ ထပ္လုပ္ဖို႔လိုလာပါျပီ။
ဥပမာ။  ။ traditional food, Chinese food, European food အစရွိသျဖင့္ category ခြဲျခားလိုတဲ႔အခါ taxonomy ကို သံုးရမွာျဖစ္ပါတယ္။
wordpress သံုးေနတဲ႔သူတစ္ေယာက္အတြက္ post နဲ႔ page ကို ရင္းႏွီးျပီးသားျဖစ္မွာပါ။ အဲဒီ post ကို အမ်ိုးအစားခြဲခ်င္လာတဲ႔အခါ category ကို သံုးတယ္ဆိုတာလဲသိျပီးျပီလို႔ ယူဆပါတယ္။
အဲဒီမွာ မွတ္သားရမွာက post မွာသံုးတဲ႔ category ဆိုတာ taxonomy အမ်ိဳးအစားတစ္ခုျဖစ္ပါတယ္ နာမည္ကို category လို႔ေပးထားတာပဲျဖစ္ပါတယ္။
အဲဒီ category ေအာက္မွာ ထပ္ျပီး ထည့္တဲ႔ category item ေတြ( ဥပမာ။   ။ traditional food, chinese food ) တို႔ကို ေတာ႔ term လို႔ေခၚပါတယ္။
အဲလို taxonomy ေတြကို ကိုယ္တိုင္ တည္ေဆာက္ျပီး မိမိႏွစ္သက္ရာ post type အတြက္ ခ်ိတ္ဆက္အသံုးျပဳေပးႏိုင္ပါတယ္။
ဒါဆို taxonomy တစ္ခု တည္ေဆာက္ၾကည့္ရေအာင္
add_action( 'init', 'create_topics_hierarchical_taxonomy', 0 );
function create_topics_hierarchical_taxonomy() {
  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
      'singular_name' => _x( 'Topic', 'taxonomy singular name' ), 
   );  

  register_taxonomy('topics',array('slideshow'), array(
      'hierarchical' => true,
      'labels' => $labels,      
      'show_admin_column' => true,     
   ));

}
add_action အေၾကာင္းကို "create custom post type" post မွာတုန္းက ရွင္းျပခဲ႔ျပီးျပီဆိုေတာ႔ အက်ယ္တ၀င့္ မရွင္းျပေတာ႔ဘူး။
wordpress က ကိုယ္႔ website ကို စတင္ initialize လုပ္တဲ႔ အခ်ိန္မွာ add_action က create_topics_hierarchical_taxonomy နာမည္ေပးထားတဲ႔ function ကို run ေစမွာျဖစ္ပါတယ္။အဲဒီ function run တဲ႔အခါ register_taxonomy ဆိုတဲ႔ function ကို run ေစမွာျဖစ္ပါတယ္။ function call ေခၚေပးတယ္လို႔လဲေျပာလို႔ရပါတယ္။
အထက္က code ကိုၾကည့္ပါ။ register_taxonomy function မွာ argument သံုးခုရွိပါတယ္။ပထမ argument က taxonomy ရဲ႕ နာမည္ပဲျဖစ္ပါတယ္။ မိမိ ႏွစ္သက္ရာေပးလို႔ရပါတယ္။
ဥပမာ။   ။ food_type, post_category, post_topic အစရွိသျဖင့္ ေပးလို႔ရပါတယ္။
ဒုတိယ argument က အဲဒီ taxonomy ကို အသံုးျပဳမယ့္ post type ကို ထည့္ေပးရမွာျဖစ္ပါတယ္။ post type တစ္ခုထက္မက အသံုးျပဳႏိုင္တဲ႔အတြက္ array type အေနနဲ႔ ထည့္သြင္းေပးခုိုင္းထားပါတယ္။
အထက္က code မွာေတာ႔ post type အျဖစ္ slideshow ကိုသံုးထားပါတယ္။ ဒါဆို slideshow post type က register လုပ္ျပီးသားျဖစ္ရမွာပါ။
တတိယ argument ကအဲဒီ taxonomy အတြက္ သတ္မွတ္ေပးရမယ့္ အခ်က္အလက္ေတြျဖစ္ပါတယ္။
taxonomy ရဲ႕ သတ္မွတ္ခ်က္ေတြ အမ်ားအျပား ရွိေပမယ့္ အားလံုးကို အျမဲအသံုးျပဳစရာ မလုိပါဘူး။
အသံုးမ်ားတဲ႔ အခ်ိဳ႕ကို ပဲ ရွင္းျပေပးသြားပါမယ္။ ဘာလို႔လဲဆိုေတာ႔ တခ်ိဳ႕ သတ္မွတ္ခ်က္ေတြက သံုးရမယ့္ အေျခအေနကို အရင္ရွင္းျပမွ နားလည္ႏိုင္မွာမို႔ ဒီ post တစ္ခုထဲနဲ႔ မရွင္းျပေတာ႔တာပါ။

အထက္က code ကို ၾကည့္ေပးပါ။ $labels ဟာ array အမ်ိဳးအစားျဖစ္ပါတယ္။ တကယ္က အဲဒီ label ဟာလည္း မပါမျဖစ္မဟုတ္ပါဘူး။ ဒါေပမယ့္ အဲဒါကို မသတ္မွတ္ေပးခဲ႔ရင္ သူ႔ရဲ႕ default label name ေတြကို သံုးသြားမွာျဖစ္ပါတယ္။
အထက္က code မွာေတာ႔ name နဲ႔ singular_name ကို သတ္မွတ္ေပးထားပါတယ္။ admin left menu မွာ ေပၚေစခ်င္တဲ႔ စာသားအတိုင္းေပၚေအာင္ သတ္မွတ္ေပးလိုက္တာျဖစ္ပါတယ္။ အဲလို မသတ္မွတ္ေပးရင္ default name "Categories" ကို သံုးသြားမွာျဖစ္ပါတယ္။


တတိယ argument array ရဲ႕ hierarchical အမ်ိဳးအစားကို ၾကည့္ပါ။ true လို႔ေပးထားပါတယ္။ ဘာကိုဆိုလိုတာလဲဆိုေတာ႔ category ေတြမွာ sub category ထားလို႔၇တယ္။ အဲဒီ sub category ေအာက္မွာလည္း ေနာက္ထပ္ sub category ေတြထားလို႔ရႏိုင္ပါေသးတယ္။ အဲလို ထားႏိုင္ခြင္႔ ျပဳတယ္ဆိုျပီး သတ္မွတ္ေပးတာျဖစ္ပါတယ္။ hierarchical ကို false ေပးထားရင္ category မွာ sub category ဆိုတာ မရွိႏိုင္ေတာ႔ပါဘူး။ လုိအပ္သလို သတ္မွတ္ေပးႏိုင္ပါတယ္။
show_admin_column အတြက္ true ဆိုတာကေတာ႔ အဲဒီ taxonomy ကိုသံုးမယ့္ post type ေတြရဲ႕ post listing ေတြ ေဖာ္ျပရာမွာ taxonomy ကိုထည့္သြင္းေဖာ္ျပမယ္လို႔ဆိုတာျဖစ္ပါတယ္။
ဒီေလာက္ဆို custom taxonomy အေၾကာင္းနဲ႔ ဘယ္လို တည္ေဆာက္ရမယ္ဆိုတာကို သေဘာေပၚေလာက္ျပီထင္ပါတယ္။ဒါေပမယ့္ ဒါကအေျခခံဆိုေတာ႔ အေသးစိတ္ပိုမိုသိခ်င္ရင္ေတာ႔ wordpress reference page မွာၾကည့္ရႈႏိုင္ပါတယ္။

https://codex.wordpress.org/Function_Reference/register_taxonomy
Previous
Next Post »

Thorium School

Thorium School
Be professional with us