Contar posts, custom posts e taxonomies no WordPress
Postado em 12 de abril de 2011 por Henderson | Categorias: Custom Post Types, Úteis | Tags: Count() | Sem comentários » | Comentar
Contar a quantidade de um determinado custom post type. No exemplo abaixo o custom post type se chama duvidas:
global $wpdb;
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type ='duvidas' AND post_status = 'publish'");
Contar a quantidade de uma taxonomia de id igual a 17:
global $wpdb;
$quantidade_posts = $wpdb->get_var("SELECT count FROM wp_term_taxonomy WHERE term_taxonomy_id = '17' ");
Contar a quantidade de posts regsitrados em uma determinada taxonomia. Este código funciona dentro de um arquivo de taxonomias (arquive). Primeiro é necessário pegar o ID da taxonomia corrente para depois contar quantos posts existem na taxonomia.
<?php if ( is_tax() ) {
/** Função que busca o id da taxonomia (de nome categoria)**/
$terms = get_the_terms( $post->ID , 'categoria');
if($terms) {
foreach( $terms as $term ) {
$id_categoria_corrente = $term->term_id;
}
}
?>
Na segunda parte montamos o comando para contar a quantidade de posts da taxonomia ativa:
global $wpdb;
$numposts2 = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
INNER JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id WHERE wp_posts.post_type = 'duvidas' AND wp_posts.post_status = 'publish AND wp_term_taxonomy.term_id = '$id_categoria_corrente'");
Deixe um comentário