Ich baue eine neue Website und fühle mich mit Woocommerce ziemlich wohl. Ich brauche nur einen schnellen Trick, um die Produktanzahl in jeder Kategorie zu ermitteln. Ich rufe bereits die Kategorie für jedes Produkt auf, kann aber nicht herausfinden, wie ich die Produktanzahl aus dieser Kategorie abrufen kann.
Ich habe einen Listenstil für meine Produkte (eigentlich Aktivitäten für eine Aktivitätsseite). Bild ansehen.
Ich möchte nur die Anzahl der “Aktivitäten” neben der Kategorie wiedergeben. So komme ich zu meiner Kategorie:
echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' );
Ich habe versucht, die Zählung zu erhalten, indem ich Folgendes verwendete:
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status="publish"");
echo $numposts;
Aber es gibt eine seltsame Zahl wieder. Ich habe ein paar Variationen dieser Abfrage ausprobiert und nach Produkten und dergleichen gefragt.
[update]
Folgendes konnte ich tun:
<li><?php
$cat1 = $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' );
echo $cat1;
/*
$args = array( 'taxonomy' => 'product_cat' );
$terms = get_terms('product_cat', $args);
echo count($terms);
*/
$args = array( 'post_type' => 'product', 'taxonomy' => $cat1[0] );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo count( $loop->post->ID )
endwhile;
wp_reset_query(); // Remember to reset
?></li>
Aber es zählt tatsächlich alle Produkte in allen Kategorien in Schritten von “1” … Anstatt also “Kategorie: abc hat “3” Produkt” zu wiederholen, gibt es “Kategorie: abc hat “1 1 1 1 1 1 1” wieder “
Ich weiß, dass es einen einfachen Filter gibt, den ich hier machen kann, ich fühle mich, als wäre ich genau dort.
Beobachtungen: 1) Benutz nur offen
<?php
und schließen?>
-Tags, um PHP von HTML zu trennen. Es ist kein Zeilenumbruch. 2) Organisieren Sie Ihren Code, damit Sie nicht verrückt werden. Es ist viel einfacher zu debuggen und zu lesen. Sehen Kodierungsstandards. 3) Verwendenvar_dump
undprint_r
um Ihre Variablen zu überprüfen.– Brasilo
13. Juli 2013 um 2:10 Uhr