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


41

আমি এটিকে চিহ্নিত করার চেষ্টা করেছি:

    <?php $count = count($custom_posts); ?>
    <h2><?php echo $count; ?></h2>

লুপের শেষে:

      <?php if ( bbp_get_forum_title() == 'Test Forum 1' ) : ?>
            <?php $custom_posts = new WP_Query(); ?>
            <?php $custom_posts->query('post_type=blocks&location=Business and Finance&order=DESC'); ?>
            <?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
                <div class="ad">
                    <?php the_content(); ?>
                </div>
                <?php $count = count($custom_posts); ?>
                <h2><?php echo $count; ?></h2>
            <?php endwhile; ?>
      <?php endif; ?>

তবে মোট পোস্টের পরিবর্তে আমি এই আউটপুটটি পাচ্ছি:

অনুবাদ ঘ

স্নাতকোত্তর পিতামহী শৈলীর সাথে কাজ করতে পারেন, আপনি যদি আমাদের ইওমসডের সাথে কিছুটা পছন্দ করেন না তবে ম্যাগনা থেকে আলাদা হয়ে যেতে পারেন। উত্সী এনিম ঘ

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

উত্তর:


74

মোট পদ সংখ্যা পাওয়ার সঠিক উপায় হ'ল:

<?php $count = $custom_posts->found_posts; ?>

http://codex.wordpress.org/Class_Reference/WP_Query#Properties

সম্পাদনা: @ ক্রেসিমির পেন্ডিকের উত্তর সম্ভবত সঠিক হিসাবে স্বীকার করা। post_countসেই নির্দিষ্ট পৃষ্ঠার জন্য পোস্টগুলির গণনা, অন্যদিকে found_postsএমন সমস্ত উপলব্ধ পোস্টগুলির জন্য গণনা যা পৃষ্ঠাগুলি ছাড়াই ক্যোয়ারীর প্রয়োজনীয়তা পূরণ করে। সংশোধনের জন্য আপনাকে ধন্যবাদ।


ধন্যবাদ! আরে একটি শেষ প্রশ্ন। আমি কীভাবে এই নম্বরটি ব্যবহার করতে পারি যদি একটি বিবৃতি তৈরি করতে পারে যা সেই লুপের বাইরে (লুপের আগে)। কারণ মনে হচ্ছে কেবল তখনই প্রদর্শিত হবে যখন আমি সেই লুপটির পরে ভেরিয়েবল রাখি।
janoChen

4
আপনি $ কাস্টম_পোস্ট-> ক্যোয়ারি () এর ঠিক পরে $ কাউন্ট = $ কাস্টম_পাস্টগুলি-> পোস্ট_কাউন্ট রাখতে পারেন। মনে রাখবেন যে $ কাস্টম_পাস্টগুলি-> পোস্ট_কাউন্ট কেবল ফলাফল সেটটির সেই 'পৃষ্ঠায়' ফলাফলের সংখ্যা পাবে। আপনি যদি 'পুরো' ফলাফল সেটটিতে ফলাফলের মোট সংখ্যা পেতে চান তবে $ কাস্টম_পোস্ট-> পাওয়া_পোস্টগুলি ব্যবহার করুন।
রবার্ট ডারগিন

2
এই উত্তরটি বেশিরভাগ পরিস্থিতিতে সঠিক নয়। পোস্ট_কাউন্ট (এই পৃষ্ঠায় প্রদর্শিত পোস্টগুলির সংখ্যা) এর পরিবর্তে পাওয়া_পোস্টগুলি (সমস্ত পাওয়া পোস্ট) ব্যবহার করুন। এই মন্তব্যটি যুক্তিযুক্তভাবে বলার অপেক্ষা রাখে না, তবে সামাজিকভাবে বলা হয় না।
হারবার্ট ভ্যান-ভিলেট 11

1
এই উত্তরটি ভুল। $custom_posts->post_countএই পৃষ্ঠায় প্রদর্শিত পোস্টের পরিমাণ ফিরিয়ে দেবে, সুতরাং এটি posts_per_pageকোয়েরির মান বা একটি কম মান প্রদর্শন করবে যদি দেখানোর জন্য বাকি পরিমাণ কম থাকে। সঠিক উত্তরটি ব্যবহার করা উচিত <@kresimir-pendic>এর উত্তর$custom_posts->found_posts
ইনফিনিটি মিডিয়া

42

মানি সঠিক ডকুমেন্টেশন পৃষ্ঠা যুক্ত করেছেন তবে post_countভুল। মোট পোস্টের সংখ্যা পাওয়ার WP_Queryজন্য "পাওয়া_পস্টগুলি" ব্যবহার করুন

<?php

// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;

3
এই এক গ্রহণযোগ্য উত্তর হওয়া উচিত।
ক্রিস্টিন কুপার

1
এটি একেবারে সঠিক উত্তর।
ইনফিনিটি মিডিয়া

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