পোস্টের সংখ্যা গণনা (কাস্টম পোস্টের ধরণ) প্রশ্নের সমস্যা


11

আমি একটি কাস্টম পোস্ট ধরণের "জবস" এর মোট পোস্টের সংখ্যা গণনা করার চেষ্টা করছি। আমার জিজ্ঞাসাটি কেবল "0" ফেরত দেয় যখন আমি জানি যে পোস্ট রয়েছে। আমি মনে করি না যে এটি পোস্টের ধরণের পোস্ট রয়েছে কিনা তা খতিয়ে দেখছে, তবে কেন আমি ... কোন ধারণা নেই তা সম্পর্কে নির্দ্বিধায় আছি?

<?php $jobs = new WP_Query(array( 'post_type' => 'jobs' ));?>
<?php if ($jobs->have_posts()) { 

    $count_posts = wp_count_posts()->publish; 
    if ( $count_posts == "1" ) { 
        echo "<h2>There is currently one vacancy...</h2>"; }
    else { echo "<h2>There are currently  $count_posts vacancies...</h2>"; }

} else { ?>
<h2>There are currently no vacancies.</h2>
<?php } ?>

পার্শ্ব নোট হিসাবে, আপনি কি ক্যোয়ারির আসল ফলাফলগুলি দেখার জন্য ($ জবস) বা মুদ্রণ_আর ($ জবস) গণনা করে দেখেছেন?
redconservatory

না, কেবল চেষ্টা করেছেন এবং এটি কার্যকর কিছু নয়।
ড্যান লি

উত্তর:


38

wp_count_postsফাংশন আছে প্যারামিটার $typeপোস্টের প্রকারের গণনা, আপনি এই প্যারামিটারটি ব্যবহার করা উচিত আপনি কাজ সংখ্যা পেতে চান তাহলে

তাই ভালো:

$count_posts = wp_count_posts( 'jobs' )->publish;

কাজটি করে!
ড্যান লি

আমি আনন্দিত এটি সাহায্য করেছে
মামাদুকা

উত্তরের উপরের বাম-কোণে, ভোট গণনার নীচে চেকমার্কটি ক্লিক করে আপনাকে এই উত্তরটি গ্রহণ করতে হবে
চিপ বেনেট

-1

এগুলি আপনার মেটা_কি এবং মেটা_ভ্যালু দিয়ে প্রতিস্থাপন করুন:

$meta_key = 'x';
$meta_value = '2';

$sql = "SELECT count(DISTINCT pm.post_id)
FROM $wpdb->postmeta pm
JOIN $wpdb->posts p ON (p.ID = pm.post_id)
WHERE pm.meta_key = '$meta_key'
AND pm.meta_value = '$meta_value'
AND p.post_type = 'post'
AND p.post_status = 'publish'
";

$count = $wpdb->get_var($sql);
echo "<p>Count is: $count</p>";

আপনার কোডটিতে সাদামাটা এসকিউএল ব্যবহার করা খুব খারাপ অভ্যাসমূলক। অনেকগুলি ডাব্লুপি র‍্যাপার ফাংশন রয়েছে যা একই কাজ করে এবং আরও অনেক কিছু করে।
নোসেন্স 16
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.