【问题标题】:Wordpress order categoriesWordpress 订单类别
【发布时间】:2014-10-04 20:17:39
【问题描述】:

我有一个 Wordpress 网站,其中很多类别都是人名。默认情况下,slug 变为 john-smith fred-wilkinson 等。因此,类别列表按其名字的字母顺序排列。我希望他们按姓氏列出。

我可以让作者/编辑将 slug 更改为 wilkinson-fred 等,但我宁愿有一个解决方案,他们不必更改默认 slug。

我知道有些插件可以拖放到任何你想要的顺序。同样,这取决于作者/编辑将其放在正确的位置。

我的蛞蝓目前看起来像这样 约翰·史密斯 弗雷德-威尔金森 阿兰-琼斯 等等

我还有其他不想更改的类别。我只想重新排序父类别为“艺术家”的位置。

有什么想法吗?如果我将 wilkinson-fred 放在描述字段中,我可以对其进行排序吗?

谢谢

【问题讨论】:

  • 这是在前端还是管理员?你反对使用 JavaScript 吗?

标签: wordpress categories


【解决方案1】:

我假设您想更改 wp list categories 函数输出的顺序(也许在您未来的 SO 问题中让它更清楚一点!)。如果是这样,我认为您有两个选择:

1) 劫持 orderby 中提到的 orderby 参数,@Chris_O 在 Wordpress Stackexchange 上提到:

wp_term_relationships 表中有一个未使用的列 term_order,您可以使用它为您的分类中的术语分配自定义顺序。订单默认设置为 0,需要自定义查询才能取回订单,并需要另一种解决方案来设置订单。

尽管正如@Kaiser 在 cmets 中提到的那样,这个解决方案有点笨拙,因为它不应该以这种方式使用,并且它的实施可能会在未来的 Wordpress 版本中发生变化。

2) 将函数的输出存储在变量中(echo => false$args 下),操作输出并打印结果数组。这是我会选择的方式,因为它可以让你更好地控制局势。

【讨论】:

  • "更改 wp 列表类别函数输出的顺序" 是的,这就是我想要的。抱歉,如果不清楚。
  • 我真的不想使用 term_order ,因为这意味着每次添加新名称时手动输入订单并重新编号。可以是变量(即姓氏)的排序顺序列是完美的,但没有。
  • 然后选择选项 2!我不确定wp_list_categories 的输出看起来如何,但我认为您始终可以执行某种字符串/数组操作,然后按字母顺序对操作的输出进行排序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多