বর্তমান বিভাগে শিশু রয়েছে কিনা তা পরীক্ষা করুন


11

আমি যে বর্তমান কাস্টম ট্যাক্সনমি সংরক্ষণাগার পৃষ্ঠাটি দেখছি তাতে বাচ্চাদের বিভাগ রয়েছে কিনা তা আমাকে জানাতে হবে। আমি একটি পরিস্থিতি পেয়েছি যেখানে বাচ্চাদের সাথে প্রচুর কাস্টম বিভাগ রয়েছে এবং সাইটটি কেবলমাত্র লাইনের শেষে পোস্টগুলি দেখানো হয়। অন্যথায় এটি বিভাগের একটি লিঙ্ক প্রদর্শন করা উচিত যা পরের পদক্ষেপের নীচে রয়েছে। আমি এই স্নিপেটটি পেয়েছি, তবে এটি কাস্টম ট্যাক্সনোমিতে কাজ করে বলে মনে হচ্ছে না।

function category_has_children() {
global $wpdb;   
$term = get_queried_object();
$category_children_check = $wpdb->get_results(" SELECT * FROM wp_term_taxonomy WHERE parent = '$term->term_id' ");
    if ($category_children_check) {
        return true;
    } else {
       return false;
    }
}   

<?php
    if (!category_has_children()) {
        //use whatever loop or template part here to show the posts at the end of the line
   get_template_part('loop', 'index'); 
       }   

    else {
       // show your category index page here
    }
?>

উত্তর:


10

এটি করার আরও ভাল উপায় হতে পারে বা নাও হতে পারে তবে আমি এটি কীভাবে করব তা এখানে:

$term = get_queried_object();

$children = get_terms( $term->taxonomy, array(
'parent'    => $term->term_id,
'hide_empty' => false
) );
// print_r($children); // uncomment to examine for debugging
if($children) { // get_terms will return false if tax does not exist or term wasn't found.
    // term has children
}

যদি বর্তমান শ্রমশাসনের শব্দটি শিশু থাকে তবে get_termsফাংশনটি একটি অ্যারে ফিরিয়ে দেবে, অন্যথায় এটি ফিরে আসবে false

পরীক্ষিত এবং সিপিটি প্রজন্মের জন্য ব্যবহৃত কাস্টম পোস্ট প্রকার ইউআই প্লাগইন সহ আমার স্থানীয় ভ্যানিলা ইনস্টলের কাজ করে ।


যখন আমি মুদ্রণ_আর ($ শিশুদের) uncommented করেছি .... এটি একটি অ্যারের আউটপুট করেছে। কীভাবে এটি একটি / অন্যথায় রূপান্তরিত হতে পারে? দুঃখিত, আমি এখনও পিএইচপি করতে খুব নতুন
ইউজার 29489

1
উপেক্ষা করুন আমি এটি ব্যবহার করেছি: যদি ($ শিশুরা) '' এখানে শিশুরা 'প্রতিধ্বনি করে; } অন্য {প্রতিধ্বনি 'বাচ্চাদের নয়'; }
user29489

@ user29489 আপনি ঠিক বলেছেন, আমি আমার উত্তরে যথেষ্ট পরিষ্কার ছিলাম না। ভবিষ্যতের রেফারেন্সের জন্য সম্পাদিত।
মনট্রিলিস্ট

1
যাঁদের কেবল কোনও শিশু আছে কিনা তা জানতে এবং সন্তানের শর্তগুলির জন্য ডেটা পাওয়ার দরকার নেই, তাদের জন্য আমি 'field' => 'count'কেবলমাত্র বাচ্চাদের সংখ্যা গণনা করার পরামর্শ দিই ।
জেডি

এটি কি সাধারণ পোস্ট বিভাগগুলির সাথেও কাজ করে?
পিট


1

ধরে নিই যে আপনি আপনার শর্তাদি কেবলমাত্র এমন শর্তাদি দেখানোর জন্য ফিল্টার করার চেষ্টা করছেন যা হয় হয় বাচ্চা আছে বা না, আপনি আসলে childlessআপনার get_terms()ফাংশনটিতে প্যারামিটারটি ব্যবহার করতে পারেন ।

$children = get_terms( 
    'taxonomy' => '$taxonomy_slug',
    'hide_empty' => false,
    'childless' => true
  ) 
);

এটি এমন শর্তাবলীর একটি অ্যারে আউটপুট দেবে যার কোনও সন্তান নেই।

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