একটি লুপের পোস্টগুলি গণনা করছেন (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.