get_posts নির্দিষ্ট শুল্ক শুল্কের জন্য বরাদ্দ করা হয়েছে, এবং এই শব্দটির বাচ্চাদের নয়


18

বলুন আমার কাছে নিম্নলিখিত শুল্কের শর্ত রয়েছে:

Term 1
  Term 1.1
  Term 1.2
Term 2
  Term 2.1

আমি কীভাবে কেবলমাত্র টার্ম 1 এ নিযুক্ত পোস্টগুলি পেতে পারি এবং টার্ম 1.1 বা টার্ম 1.2 এর সাথে অর্পিত পোস্টগুলি অন্তর্ভুক্ত করব না?

উদাহরণ স্বরূপ:

$pages = get_posts(array(
  'post_type' => 'page',
  'numberposts' => -1,
  'tax_query' => array(
    array(
      'taxonomy' => 'taxonomy-name',
      'field' => 'id',
      'terms' => 1 // Where term_id of Term 1 is "1".
    )
  )
);

আমাকে এমন পোস্টও দিচ্ছে যার শর্তাবলী 1.1 এবং 1.2 প্রদান করা হয়েছে।

ধন্যবাদ।

উত্তর:


35

/ ডাব্লুপি-ইনক্লুয়েডস / ট্যাক্সোনমি.পিএফ-এ ডাব্লুপিটাক্স_কিউরি ক্লাসটি দেখে, আমি দেখতে পেলাম যে একটি 'অন্তর্ভুক্ত_সন্তান' বিকল্প রয়েছে যা সত্যের ডিফল্ট হয়। আমি নিম্নলিখিতটি দিয়ে আমার আসল get_posts () কলটি পরিবর্তন করেছি এবং এটি দুর্দান্ত কাজ করে:

$pages = get_posts(array(
  'post_type' => 'page',
  'numberposts' => -1,
  'tax_query' => array(
    array(
      'taxonomy' => 'taxonomy-name',
      'field' => 'term_id', 
      'terms' => 1, /// Where term_id of Term 1 is "1".
      'include_children' => false
    )
  )
));

আরও ক্যোয়ারী প্যারামিটারগুলির তালিকা: http://codex.wordpress.org/Class_References/WP_Query# টেক্সোনমি_প্যারামিটার


3
লিঙ্কযুক্ত কোডেক্স পৃষ্ঠা থেকে পড়া, আমি মনে করি কর _ ক্যুরি অ্যারেতে 'ক্ষেত্রের' মান 'আইডি' এর পরিবর্তে 'টার্ম_আইড' হওয়া উচিত: "সম্ভাব্য মানগুলি হ'ল 'টার্ম_আইডি', 'নাম' এবং 'স্লাগ' Def 'term_id। " আমি অনুমান করছি যে 'আইডি' কেবলমাত্র কাজ করে কারণ এটি ডিফল্টে পড়ে যাওয়ার কারণ ঘটায়।
জানি ইউসিতালো

6

ঠিক এই দিনটি পেরিয়ে এসেছিল:

$tax = 'music';
$oterm = 'pop';
$term = get_term_by('slug', $oterm, $tax);
$termChildren = get_term_children($term->term_id, $tax);
$wp_query = new WP_Query();
$wp_query->query(
    array(
        'posts_per_page' => '5',
        'tax_query' => array(
            array(
                'taxonomy' => $tax,
                'field' => 'slug',
                'terms' => $oterm
            ),
            array(
                'taxonomy' => $tax,
                'field' => 'id',
                'terms' => $termChildren,
                'operator' => 'NOT IN'
            )
        )
    )
);

উত্স: http://return-true.com/2011/08/wordpress-display-posts-from-a-term-without-displaying-posts-from-child-terms/


1

এখানে সম্পূর্ণ কোড আশা করি এটি সহায়তা করে। ধন্যবাদ

<?php 
$terms_array = array( 
  'taxonomy' => 'services', // you can change it according to your taxonomy
  'parent'   => 0 // If parent => 0 is passed, only top-level terms will be returned
);
$services_terms = get_terms($terms_array); 
foreach($services_terms as $service): ?>
<h4><?php echo $service->name; ?></h4>
<?php 
$post_args = array(
      'posts_per_page' => -1,
      'post_type' => 'service', // you can change it according to your custom post type
      'tax_query' => array(
          array(
              'taxonomy' => 'services', // you can change it according to your taxonomy
              'field' => 'term_id', // this can be 'term_id', 'slug' & 'name'
              'terms' => $service->term_id,
          )
      )
);
$myposts = get_posts($post_args); ?>
<ul>
<?php foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
  <li>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  </li>
<?php endforeach; // Term Post foreach ?>
</ul>
<?php wp_reset_postdata(); ?>

<?php endforeach; // End Term foreach; ?>  

0

অপারেটর 'IN' ব্যবহার করা হয় এবং এটি কাজ করে

'ট্যাক্সোনমি' => 'সংগ্রহ', 'পদ' => অ্যারে (২৮), 'ক্ষেত্র' => 'আইডি', 'অপারেটর' => 'ইন'

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