একটি লুপের পোস্টগুলি গণনা করছেন (WP_Query)?


10

পোস্টের কোনও সংখ্যা প্রদর্শন করার জন্য আমি এইভাবে চেষ্টা করেছি:

<?php 
 $news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
  if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();

  $count = $news_2->post_count;

  ?>

    <li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>



    <?php } } ?> <?php wp_reset_query(); ?> 

যদি পোস্টের কোনও নম্বর না হয় তবে আমি এটি প্রদর্শন করতে পারি: -

<?php 
 $news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
  if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();

  $count = $news_2->post_count;

  if ($count  == '0') {

  ?>
  <li><h3><a href="javascript:void(0)">No Post</a></h3></li>

  <?php
  } else {
  ?> 
    <li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>

<?php  }  ?>

    <?php } } ?> <?php wp_reset_query(); ?> 

তবে মোট পোস্টের পরিবর্তে আমি কিছুই পাচ্ছি না।

এটি ঠিক করার জন্য কোনও পরামর্শ?


2
আরে, আপনি ফিরে আসা এবং আপনি জবাব দেওয়া হয়েছে যে 2 টি উত্তর দুটি মধ্যে মাপসই করতে চান?
হেলগাটিভিকিং 13

যদি উত্তরগুলির কোনও আপনার পক্ষে সহায়ক হয় তবে তা গ্রহণ করার বিষয়টি বিবেচনা করুন। দেখুন someone কেউ আমার প্রশ্নের উত্তর দিলে আমার কী করা উচিত? «এবং / বা voting কেন ভোটদান গুরুত্বপূর্ণ? এবং, ওয়ার্ডপ্রেস বিকাশ মডেল সম্পর্কে আরও তথ্য সহায়তা কেন্দ্রে উপলব্ধ
নিকোলাই

উত্তর:


23

কিছু অতিরিক্ত তথ্য, পোস্টগুলি আবার গণনা করার দরকার নেই, কারণ WP_Queryইতিমধ্যে এটি আপনার জন্য করেছে। এটি পরিষ্কার করতে, শ্রেণি রেফারেন্স থেকে কিছু তথ্য WP_Query»বৈশিষ্ট্য« বিভাগে পাওয়া যায়:

। post_count
পোস্টের সংখ্যা প্রদর্শিত হচ্ছে।

$ পাওয়া_
posts বর্তমান ক্যোয়ারী প্যারামিটারের সাথে মিলিয়ে পাওয়া মোট পোস্টের সংখ্যা

এর অর্থ কী

  1. $post_countআপনি মোট পোস্ট গণনা দিতে হবে না। এটি সম্ভবত post_per_pageপ্যারামিটারের সাথে সংজ্ঞায়িত পোস্টগুলির সংখ্যা দেবে , যদি না আপনি তার চেয়ে কম পোস্ট করেন বা আপনি সর্বশেষ পৃষ্ঠায় থাকেন এবং কেবলমাত্র কম পোস্ট বাকি থাকে।
  2. $found_postsনির্দিষ্ট প্রশ্নের সাথে সম্পর্কিত পোস্টের মোট সংখ্যা পেতে ব্যবহার করা যেতে পারে। সুতরাং এগুলি আবার গণনা করার দরকার নেই।

আপনার ক্ষেত্রে আপনি আপনার $countভেরিয়েবলের মধ্যে মোট গণনা পেতে পারেন :

$count = $news_2->found_posts;

এই ছাড়াও @ হেলগাথেভিওকিং ঠিক আছে যে, আপনি আপনার প্রশ্নে যা দেখিয়েছেন সেগুলি থেকে আপনার অতিরিক্ত শর্তযুক্ত হওয়ার দরকার নেই, তবে have_posts()ইতিমধ্যে শর্তসাপেক্ষে কেবল পদ্ধতিটিই ব্যবহার করতে পারেন , যেমন তিনি পরামর্শ দিয়েছিলেন।


4
পাওয়া_স্থানীয় সম্পত্তিগুলির জন্য +1। প্রতিদিনই আপনি কিছু নতুন শিখছেন! :)
হেলগাটিভিকিং

4

কোনও পোস্ট না পাওয়া গেলে আলাদা কিছু দেখাতে আপনাকে পোস্টগুলি গণনা করার দরকার নেই। আপনি কেবল elseআপনার if($news_2->have_posts())চেক অংশটি ব্যবহার করতে পারেন ।

$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );

if ( $news_2->have_posts() ) { 

    while ( $news_2->have_posts() ) { 

        $news_2->the_post();

    ?> 

    <li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>

<?php  } 

    } else { ?>

    <li><h3>No Post</h3></li>

    <?php } ?> 

<?php wp_reset_query(); ?> 

তবে যদি আপনাকে সত্যিকার অর্থে পোস্টগুলির সংখ্যা গুনতে হয় তবে আপনি ব্যবহার করতে পারেন

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