Begrenzen Sie die Anzahl der Ergebnisse von wpsc_start_category_query

Beachten Sie den folgenden Code:

    get_option('wpsc_default_category'),'show_thumbnails'=>get_option('show_category_thumbnails'))); ?>
  • <a href="https://wordpress.stackexchange.com/questions/95659/limit-the-number-of-results-from-wpsc-start-category-query/" class="wpsc_category_link"> <?php wpsc_print_category_description("
    ", "
    "); ?>

Der obige Code zeigt alle meine Produktkategorien in einer Liste an. Das Problem bei diesem Ansatz besteht darin, dass ich die Anzahl der Kategorien nicht begrenzen kann. Zum Beispiel, wenn ich 4 zufällige Kategorien anzeigen möchte, aber 6 in meiner WP-database, dann werde ich nicht bekommen, was ich will.

Gibt es einen alternativen Weg, die Anzahl der Kategorien von allen Möglichkeiten zu erhalten? Vielleicht mit WP_Query ?

Solutions Collecting From Web of "Begrenzen Sie die Anzahl der Ergebnisse von wpsc_start_category_query"

Die wpsc_start_category_query () – function ruft im Grunde die nativen WP-functionen get_terms () auf, die zum Erstellen einer wp-Abfrage verwendet werden:

$ category_list = get_terms (‘wpsc_product_category’, ‘hide_empty = 0 & parent =’. $ category_id);

Da WPEC benutzerdefinierte Post-Typen verwendet, können Sie einfach eigene Abfragen erstellen, indem Sie http://codex.wordpress.org/Function_Reference/get_terms verwenden

Aber get_terms () tut nicht zufällig, also müssen Sie sie alle bekommen und dann das Array in eine zufällige Reihenfolge mischen und dann die ersten 4 (jede Zahl, die Sie auf $ max setzen) für sie ausgeben. Wenn Sie also Ihren Layout-Code anpassen, sollte er wie folgt aussehen:

 
    < ?php //display random sorted list of wpsc product categories $counter = 0; $max = 4; //number of categories to display $terms = get_terms('wpsc_product_category'); shuffle ($terms); //makes list random if ($terms) { foreach($terms as $term) { $counter++; if ($counter <= $max) { ?>
  • < ?php echo $term->name; ?>
    < ?php echo $term->name; ?> < ?php if(get_option('wpsc_category_description')) :?> < ?php echo '
    '.$term->description.'
    '; ?> < ?php endif;?>
  • < ?php } } } ?>

Ich habe den Code getestet und funktioniert wie beschrieben.