Zähle Beiträge in der benutzerdefinierten Taxonomie

Gibt es eine Möglichkeit, alle veröffentlichten Beiträge aus einer benutzerdefinierten Taxonomie zu zählen?

Während ich mich umsah , fand ich diesen Ausschnitt, aber ich schaffte es nicht, es zur Arbeit zu bringen …

global $wpdb; $query = " SELECT COUNT( DISTINCT cat_posts.ID ) AS post_count FROM wp_term_taxonomy AS cat_term_taxonomy INNER JOIN wp_terms AS cat_terms ON cat_term_taxonomy.term_id = cat_terms.term_id INNER JOIN wp_term_relationships AS cat_term_relationships ON cat_term_taxonomy.term_taxonomy_id = cat_term_relationships.term_taxonomy_id INNER JOIN wp_posts AS cat_posts ON cat_term_relationships.object_id = cat_posts.ID WHERE cat_posts.post_status = 'publish' AND cat_posts.post_type = 'post' AND cat_term_taxonomy.taxonomy = 'YOUR-CUSTOM-TAXONOMY' AND cat_terms.slug IN ('TERM-SLUG-1, TERM-SLUG-2') "; return $wpdb->get_var($query); 

Solutions Collecting From Web of "Zähle Beiträge in der benutzerdefinierten Taxonomie"

Verwenden Sie eine Instanz von WP_Query , um die database abzufragen. http://codex.wordpress.org/Class_Reference/WP_Query

Um die database nach benutzerdefinierten Taxonomien abzufragen, verwenden Sie

 $query = new WP_Query( array( 'people' => 'bob' ) ); 

Weitere Informationen zu verfügbaren Optionen finden Sie unter: Taxonomieparameter http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

Abrufen veröffentlichter Posts mit

 'post_status' => 'publish' 

Verwenden Sie found_posts , um die Anzahl der Posts wiederherzustellen

 $count = $query->found_posts; 
 function wp_get_productcat_postcount($id) { //return $count; $args = array( 'post_type' => 'product', //post type, I used 'product' 'post_status' => 'publish', // just tried to find all published post 'posts_per_page' => -1, //show all 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'product_cat', //taxonomy name here, I used 'product_cat' 'field' => 'id', 'terms' => array( $id ) ) ) ); $query = new WP_Query( $args); /* echo '
'; print_r($query->post_count); echo '

'; */ return (int)$query->post_count; }

WordPress fügt jeder Taxonomie eine Attributanzahl hinzu und aktualisiert sie jedes Mal, wenn ein neuer Eintrag eingefügt oder aktualisiert wird. Weil es nicht erneut zur database gehen und Berechnungen durchführen möchte, um Beiträge in der Taxonomie zu zählen.

 echo $custom_tax_obj->count; 

Dies können Sie mit dem aktuellen Objekt mit get_queried_object () tun

  $ posts = get_queried_object ();
 echo $ Beiträge-> zählen; 

Sonst könnten Sie unnötigerweise eine zweite Abfrage ausführen, richtig?

 $args = array( 'post_type' => 'product', 'post_status' => 'published', 'product_cat' => $catpage, // $catpage == your category slug name 'numberposts' => -1 ); echo $num = count( get_posts( $args ) ); 

Unterhalb des Codes wird der Artikel aus einer bestimmten Taxonomie gezählt

 < ?php $terms = get_the_terms( $post->ID , 'your-taxonomy' ); foreach ( $terms as $term ) { echo $term->count; } ?>