如何限制按类别显示的类别数小部件

时间:2016-12-09 作者:thunder

我正在根据WordPress主题单元测试测试我的主题,该测试表明:

大量类别/标签不应对布局产生不利影响。

我能够管理标签的数量,但在分类的情况下我无法控制自己。下面是我用来限制显示的标签数量的代码。它是否可以以某种方式重新用于类别,或者是否有其他可能的方式?

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;
}

3 个回复
最合适的回答,由SO网友:birgire 整理而成

如果您有大量类别,则可以将类别小部件显示为下拉列表。

我不确定在按排序时限制类别有多有用name.

你可以试着按count 要显示最常用的类别:

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;
} );
但还有其他选择,如includeexclude.

请注意,类别小部件使用wp_list_categories() 使用get_categories(), 这是一个包装get_terms() 使用WP_Term_Query 对象中包含以下部分的WP_Term_Query::get_terms() 类别方法:

  // 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 = \'\';
  }
下拉菜单选项使用wp_dropdown_categories().

SO网友:umesh.nevase

您可以创建新的自定义小部件。并获取要列出的类别ID,并将其传递到wp\\u list\\u categories函数中。

SO网友:Tariq

我建议使用css显示来解决这个不切实际但仍然有效的问题:对于这样的categories元素,无:
选择前5个子css:

li:nth-child(-n+5){
    display: none;
} 
请注意,它们仍将位于dom中,但作为不可见元素。

相关推荐

Custom Taxonomy Page

我正在尝试创建一个显示特定类别的所有子类别的页面。所以在上下文中,我有一个标题为“目的地”的父类别。我希望能够点击目的地,并被引导到一个页面,显示子类别或国家的列表。下面是我试图实现的一个示例,减去顶部的地图-https://www.vagabrothers.com/destinations. 在理想情况下,类别页面的布局将与此页面相同。你可以从上面的例子中看出我的意思。它会使网站上的导航像这样:目的地>国家>个人帖子。我正在使用CPT UI,设置了一个名为“目的地”的自定义帖子类型和类别,然