Comptage du nombre de messages (type de message personnalisé) Problèmes de requête

9

J'essaie de compter le nombre total de messages d'un type de message personnalisé "travaux". Ma requête renvoie simplement "0" quand je sais qu'il y a des publications. Je ne pense pas qu'il vérifie que le type de message a des messages, mais je ne comprends pas pourquoi ... des idées?

<?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 } ?>
    
posée Dan Lee 22.08.2011 - 14:26

2 réponses

31

La fonction wp_count_posts a le paramètre $type pour que le type de message à compter soit compté. vouloir obtenir le nombre d'emplois

comme tel:

$count_posts = wp_count_posts( 'jobs' )->publish;
    
réponse donnée Mamaduka 22.08.2011 - 16:04
-1

Remplacez-les par votre meta_key et meta_value:

$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>";
    
réponse donnée urooj 27.11.2013 - 09:57

Lire d'autres questions sur les étiquettes