টার্ম_আইডি এবং টার্ম_ট্যাক্সনমি_আইডি এর মধ্যে পার্থক্য কী


20

শিরোনাম এটি সব বলছে। আমার কাস্টম বিভাগে এই মুহুর্তে আমি আইডি এবং ট্যাক্সোনমি নামটি ব্যবহার করে পদগুলি পেয়ে যাচ্ছি getting

ভেবেছি এই প্রশ্নটি আগে জিজ্ঞাসা করা হবে তবে এটি কোথাও খুঁজে পাবে না! সুতরাং কেবল ভেবেছি আমি জিজ্ঞাসা করব এবং কারও কোনও উত্তর আছে কিনা তা দেখুন।

উত্তর:


21

আপনি যদি ওয়ার্ডপ্রেস ডকুমেন্টেশনটি একবার দেখে নেন তবে আপনি ওয়ার্ডপ্রেস ট্যাক্সোনমিগুলি পাবেন

  • পদ_শক্তি শর্ত সারণীর একটি শর্তের আইডি
  • শব্দ_ট্যাক্সনমি_আইডি শব্দকোষের জন্য একটি অনন্য আইডি।

সুতরাং শুধুমাত্র পদ_এইডের ভিত্তিতে শর্তাদি পরিচালনা ও দখল কি তখন নকল তৈরি করে না?
দাইথ

1
আসলে ঠিক এই শেষ প্রশ্নের উত্তর। ডাব্লুপি_মিটারস টেবিলটি দেখেছি এবং কেবলমাত্র শব্দ_আইড ব্যবহার করে হ্যাঁ নিরাপদ। আপনার উত্তর @Juan জন্য ধন্যবাদ
Daithí

2
কেবলমাত্র একটি নোট যে ওয়ার্ডপ্রেস ৪.২ এ সমস্ত পদ বিভক্ত ছিল , যার অর্থ term_idএখন প্রতিটি term_taxonomyটেবিলে কেবল একবার আসবে (কলামটি অনন্য ছিল না এবং শর্তগুলি কর আদায় জুড়ে ভাগ করা যেত)। এটি ভবিষ্যতে টেকনোমি রোডম্যাপের ভিত্তিতে বিবর্তিত হতে পারে । এর একটি অংশ হ'ল শব্দ এবং মেয়াদী করশ্রমী সারণীগুলির সংমিশ্রণ
জেডি

11

কোডেক্স বলেছেন:

  • টার্ম_আইডি শর্ত সারণীর একটি শর্তের আইডি
  • শব্দ_ট্যাক্সনমি_আইডি শব্দকোষের জন্য একটি অনন্য আইডি

এটার মানে কি?

একটি শব্দ একটি শব্দ। এটি ট্যাগ, বিভাগ বা একটি কাস্টম শ্রেণীবিন্যাসের মতো কোনও শ্রেণীবিন্যাসের অন্তর্ভুক্ত হতে পারে। জিনিসটি হ'ল: একই শব্দটি সহ একাধিক ট্যাক্সনোমী থাকতে পারে।

ধরা যাক আপনার কাছে একটি শব্দ আছে যাকে "মোটাতাজাকরণ" বলা হয়। এই শব্দটির একটি আইডি নম্বর রয়েছে। এটি শব্দ_আইডি। এটি কীভাবে এই শব্দটি ব্যবহৃত হয় তার উপর নির্ভর করে না, অর্থাত্ শব্দভাগে শব্দটি কীভাবে প্রদর্শিত হয়।

পোস্ট ট্যাগ হিসাবে এখন "ফ্যাটেনিং" শব্দেরও একটি সংখ্যা রয়েছে। এটি শব্দ_ট্যাক্সনমি_আইডি। এটি "পোস্ট ট্যাগ 'মোটাতাজাকরণ" "এর সাথে সম্পর্কিত।

হতে পারে আপনার কাছে "ফ্যাটেনিং" নামে একটি বিভাগও রয়েছে। শব্দ_আইড একই থাকলেও "ক্যাটাগরি 'ফ্যাটেনিং'" এর জন্য শব্দ_ট্যাক্সনমি_আইডি আলাদা is


5

এটি ডিজাইনের বৃহত বোঝার একটি অংশ হিসাবে আমি এটি পুরো বর্ণনা করব ... :)

ডাব্লুপি ৪.৪.৩ এ এখনও এই সমস্ত টেবিল রয়েছে (আমি তাদের সম্পর্কে ছাড়া কথা বলব) উপসর্গ ):

  • পোস্ট
  • term_relationships
  • term_taxonomy
  • পদ

পোস্টের পদগুলি 'পঠনযোগ্য নামগুলি পাওয়ার পথটি তাদের সকলের মধ্য দিয়ে যায়।

পোস্টগুলি
এখানে প্রধান শনাক্তকারী ID- কোনও আইডি (কোনও প্রকারের)

term_relationships
এর দোকান জোড়া:
object_id- করতে হবে posts.ID(কিন্তু নেই না হতে হবে)
term_taxonomy_id- এই হল না শব্দটি (ক্যাটাগরি) এর আইডি কিন্তু একটি এর আইডি সম্পর্কের ফলে একটি শব্দ (ক্যাটাগরি) এবং বর্গীকরণ সূত্র মধ্যে ( "বিভাগ টাইপ")

টার্ম_শক্তিটি
এখানে প্রধান শনাক্তকারককে term_taxonomy_idউপরে বর্ণিত হয়েছে -
অন্য একটি গুরুত্বপূর্ণ কলাম:
term_id- একটি পদ ( আইটেম ) বিভাগের আইডি - শব্দটির করশ্রয়টি সংরক্ষণ করে
taxonomy("বিভাগের ধরণ")

এটি সম্ভবত মজাদার মনে হলেও প্রাথমিক উদ্দেশ্যটি ছিল শর্তগুলির জন্য আরও বেশি কর (যা কিছু ক্ষেত্রে বোঝা যায়) রাখার ক্ষমতা যুক্ত করা।

পদগুলি
এখানে প্রধান শনাক্তকারী হ'ল term_id- এখানে
আরও গুরুত্বপূর্ণ কলামগুলির একটি বিভাগের আইডি হ'ল :
name- পাঠযোগ্য পাঠ্য বিভাগের নাম যেমন "সঙ্গীত জেনারস"
slug - ইউআরএল ব্যবহারের মতো টার্মের স্লাগ

সুতরাং বিভাগের নাম সহ সমস্ত প্রকাশিত পোস্ট এবং তাদের সমস্ত বিভাগ পেতে নিষ্ঠুর প্রদর্শনকারী এসকিউএল দেখতে এইরকম হতে পারে (আপনার নিজস্ব ডাব্লু ডিবিতে পরীক্ষা করার সময় টেবিলগুলিতে উপসর্গ যুক্ত করুন):

SELECT * FROM
posts #gets posts
LEFT JOIN
term_relationships #gets posts relationships to term_taxonomies
ON(posts.ID=term_relationships.object_id)
LEFT JOIN
term_taxonomy #gets term_ids 
ON(term_relationships.term_taxonomy_id=term_taxonomy.term_taxonomy_id)
LEFT JOIN
terms #finally, gets terms' names
ON(term_taxonomy.term_id=terms.term_id)
WHERE (
    (posts.post_status='publish') 
    #optionally you can filter by a certain post_type:
    #AND
    #(posts.post_type='some_post_type')
)
ORDER BY posts.ID ASC

2

একটি পদ তার নিজস্ব কোনও বিভাগ বা ট্যাগ নয়। এটি অবশ্যই টার্ম_ টেক্সোনমি টেবিলের মাধ্যমে প্রসঙ্গ দেওয়া উচিত।

শব্দ_ট্যাক্সনমি টেবিলটি একটি কর সংক্রান্তির মধ্যে একটি শব্দ রাখে। এটিই একটি শব্দকে একটি বিভাগ , একটি ট্যাগ বা একটি কাস্টম ট্যাক্সনোমির অংশ করে তোলে (বা ট্যাক্সনোমির সংমিশ্রণে)।

term_id পদ টেবিলের মধ্যে একটি পদটির আইডি।

term_taxonomy_id কর + বিভাগের জোড়টির জন্য একটি অনন্য আইডি।

term_idসবসময় ঠিক অনন্য term_taxonomy_id। উভয়ের Auto Incrementটেবিল কাঠামোয় একটি রয়েছে।

টেবিল wp_term_taxonomyতাই ওয়ার্ডপ্রেস এটা যেমন কমার্স ব্যবহারসমূহ হস্তক্ষেপ করতে পারে, নিশ্চিত করুন উদাহরণ একটি বিভাগ তৈরি করা হয় জন্য করে তোলে: product_tag, product_type, product_cat, তাদের সব তথাকথিত কাস্টম taxonomies হয়। এই টেবিলটি পিতামাতাদের / শিশুদের কাঠামোর সাথেও জড়িত। এটি কলাম সহ parent

চূড়ান্ত সারণী, টার্ম_সম্পর্কগুলি, পদ_সামগ্রী সারণি থেকে পদ বা টার্ম_ট্যাক্সনমি_আইডির লিঙ্কগুলির মতো অবজেক্টগুলিকে সম্পর্কিত করে।

যদি আমরা উদাহরণস্বরূপ ওউকমার্সকে আবার বাছাই করি, এই টেবিলটি পোস্টের ধরণটিকে productsতাদের শ্রেণীবিন্যাসের সাথে সংযুক্ত করে product_cat, এতে একটি নামী কম্পিউটার রয়েছে যা অবশ্যই টেবিল থেকে উদ্ধারকৃত কম্পিউটার রয়েছে wp_terms। এই টেবিলের রয়েছে term_id, name, slugএবং term_group। (টার্ম_গ্রুপ আমি ব্যক্তিগতভাবে কখনই ব্যবহার করি নি)

আশা করি উপরোক্তগুলি পার্থক্যগুলি এবং ওয়ার্ডপ্রেস কীভাবে এই টেবিলগুলি ব্যবহার করে সে সম্পর্কে কিছুটা আরও স্পষ্ট করে তোলে।

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