it-swarm.com.de

Zählen Sie Posts in der benutzerdefinierten Taxonomie

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

Während ich mich umsah, fand ich dieses Snippet aber ich habe es nicht geschafft, es zum Laufen 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);
5
user1706680

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

Um die Datenbank nach benutzerdefinierten Taxonomien abzufragen, verwenden Sie

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

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

Abrufen veröffentlichter Beiträge mit

'post_status' => 'publish'

Verwenden Sie found_posts, um die Anzahl der Beiträge abzurufen

$count = $query->found_posts;
5
Upeksha
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 '<pre>';

    print_r($query->post_count);
    echo '</pre>';
    */

    return (int)$query->post_count;

}
2
Manchumahara

Der folgende Code gibt die Anzahl der Artikel aus der jeweiligen Taxonomie an

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

Wordpress fügt jeder Taxonomie eine Attributanzahl hinzu und aktualisiert diese, sobald ein neuer Beitrag eingefügt oder aktualisiert wird. Weil es nicht wieder in die Datenbank gehen und Berechnungen durchführen möchte, um die Anzahl der Posts in der Taxonomie zu ermitteln.

echo $custom_tax_obj->count;
1
ashraf mohammed

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

$ posts = get_queried_object (); 
 echo $ posts-> count;

Andernfalls führen Sie möglicherweise unnötigerweise eine zweite Abfrage aus, oder?

1
Benjamin Luoma

In den Taxonomie-Archivvorlagen (z. B. taxonomy-taxname.php) für eine Site mit einem benutzerdefinierten Beitragstyp und zugeordneten Kategorie-/Tag-Taxonomien ist dies der Fall. Ich wollte in meiner Kopfzeile anzeigen, wie viele Elemente die Taxonomie verwendet haben.

In meinen Taxonomie-Archivvorlagen musste ich den Begriff der dargestellten Taxonomie suchen und ihn dann an eine Funktion weiterleiten, um die Anzahl der benutzerdefinierten Post-Typ-Elemente zu ermitteln, die diesen Begriff verwenden, dies aus der Tag-Taxonomie

// the term we need for this taxonomy
$term_obj = get_queried_object(); 

// get the term object
$term = get_term( $term_obj->term_id, 'taxname' );

// get a count of content with this term
$tax_count = get_tax_count('taxname', $term->slug, 'custom-post-type-name');

// grammar counts
$plural = ( $tax_count == 1) ? '' : 's';

echo $tax_count . ' Item' . $plural . ' Tagged "' . $term->name . '"';

Die Funktion für die Zählung verwendet WP_Query mit einer tax_query:

function tax_count ( $taxonomy, $term, $post_type ) {
    // find the number of items in custom post type that use the term in a taxonomy

    $args = array(
        'post_type' =>  $post_type,
        'posts_per_page' => -1,
        'tax_query' => array(
            array(
                'taxonomy' => $taxonomy,
                'field'    => 'slug',
                'terms'    => $term,
            ),
        ),
    );

    $tax_query = new WP_Query( $args );

    return ($tax_query->found_posts);

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