it-swarm.com.de

So begrenzen Sie die Anzahl der Kategorien, die vom Kategoriewidget angezeigt werden

Ich teste mein Theme mit dem WordPress-Theme-Unit-Test, in dem es heißt:

Eine große Anzahl von Kategorien/Tags sollte das Layout nicht beeinträchtigen.

Ich konnte die Anzahl der Tags verwalten, konnte mir aber bei Kategorien nicht helfen. Hier ist der Code, den ich verwende, um die Anzahl der angezeigten Tags zu begrenzen. Kann es irgendwie für Kategorien wiederverwendet werden oder gibt es eine andere Möglichkeit?

add_filter('widget_tag_cloud_args', 'themename_tag_limit');

//Limit number of tags inside widget
function themename_tag_limit($args){

 if(isset($args['taxonomy']) && $args['taxonomy'] == 'post_tag'){
  $args['number'] = 15; //Limit number of tags
 }

 return $args;
}
1
thunder

Sie können die Kategorie Widgets stattdessen als Dropdown anzeigen, wenn Sie über eine große Anzahl von Kategorien verfügen.

Ich bin mir nicht sicher, wie nützlich es ist, Kategorien einzuschränken, wenn sie nach name sortiert werden.

Sie könnten versuchen, nach count zu bestellen, um die am häufigsten verwendeten Kategorien anzuzeigen:

add_filter( 'widget_categories_args', function( $args )
{
    $args['number']         = 1;
    $args['orderby']        = 'count';
    $args['order']          = 'DESC';
    $args['hierarchical']   = 0;
    $args['hide_empty']     = 1;

    return $args;
} );

es gibt aber auch andere Optionen wie include und exclude.

Beachten Sie, dass das Widget Category wp_list_categories() verwendet, das get_categories() verwendet. Dies ist ein Wrapper für get_terms(), der ein WP_Term_Query-Objekt verwendet, das den folgenden Teil in der WP_Term_Query::get_terms()-Klassenmethode enthält:

  // Don't limit the query results when we have to descend the family tree.
  if ( $number && ! $hierarchical && ! $child_of && '' === $parent ) {
        if ( $offset ) {
            $limits = 'LIMIT ' . $offset . ',' . $number;
         } else {
             $limits = 'LIMIT ' . $number;
         }
  } else {
      $limits = '';
  }

Die Option dropdown verwendet wp_dropdown_categories().

0
birgire

Sie können Ihr neues benutzerdefiniertes Widget erstellen. Holen Sie sich die Kategorie-IDs derjenigen, die Sie auflisten möchten, und übergeben Sie sie in der Funktion wp_list_categories.

0
umesh.nevase