Contando o número de posts (tipo de post personalizado) Problemas de consulta

9

Estou tentando contar o número total de postagens de um tipo de postagem personalizado "jobs". Minha consulta apenas retorna "0" quando sei que há postagens. Eu não acho que está checando se o tipo de post tem posts, mas eu não tenho ideia do porquê ... alguma idéia?

<?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 } ?>
    
por Dan Lee 22.08.2011 / 14:26

2 respostas

31

A função wp_count_posts tem o parâmetro $type para o tipo de postagem contar, você deve usar esse parâmetro se deseja obter o número de empregos

assim:

$count_posts = wp_count_posts( 'jobs' )->publish;
    
por Mamaduka 22.08.2011 / 16:04
-1

Substitua-os por meta_key e 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>";
    
por urooj 27.11.2013 / 09:57