按字母顺序对定制帖子分类进行排序和分页

时间:2015-05-06 作者:Optimum Creative

我需要对自定义分类法帖子类型进行排序和分页。我有一个页面,我有下一个和上一个链接。单击next和previous链接时,应加载next或previous brand(自定义分类法)。到目前为止,我已经做到了这一点

 $terms = get_the_terms( get_the_ID(), \'brand\' );
if($terms) {
  $BrandId=$terms[0]->term_id;
  $nextBrandId=$BrandId+1;
  $prevBranId=$BrandId-1;
  $next=get_term_by(\'id\', $nextBrandId, \'brand\' );
  $prev=get_term_by(\'id\', $prevBranId, \'brand\' );

  //echo \'<pre>\';
   echo $next->slug;
    echo $prev->slug;
   // echo \'</pre>\';
 }
我正在按id获取下一个和上一个品牌的slug,它们是随机显示的(如果我按字母顺序说话)。

请告诉我如何显示按alphateicallhy排序的下一个和上一个链接。

对于egI,有以下品牌

Versace, Valentino, Armani, Rado, CK, Tissot
如果我现在在天梭,点击下一步,那么我应该去华伦天奴。如果我在天梭,点击prev,那么我应该去Rado。

2 个回复
SO网友:Pieter Goosen

正如我在评论中所述,您可以使用usort() 要对返回的术语数组进行排序,也可以使用wp_get_post_terms() 默认情况下已按名称升序排序

$terms = wp_get_post_terms( get_the_ID(), \'brand\' );
var_dump( $terms );
编辑以下示例usort()get_the_terms()

$terms = get_the_terms( get_the_ID(), \'brand\' );
usort( $terms, function ( $a, $b )
{

    return strcasecmp( $a->name, $b->name );

});

SO网友:WordPress Mechanic

我也在尝试同样的方法来实现这一点,但最终我找到了一个更好的解决方案here. 它可用于常规分类法(类别),也可用于自定义分类法。您应该检查其内部代码,或者如果需求相同,可以原样使用它。

结束

相关推荐

Upgrading themes never works

我在家里的服务器上安装了Wordpress,为我购买的域名提供服务。它运行在Debian Linux上,目前安装在/usr/share/wordpress.当我在管理面板中时,我会看到主题或插件更新的通知。因此,我将SSH连接到服务器,打开FTP守护程序,然后启动更新。以下是输出示例:Downloading install package from http://downloads.wordpress.org/plugin/akismet.3.0.0.zip… Unpacking the pack