首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >按标题中最后一个字排序

按标题中最后一个字排序
EN

WordPress Development用户
提问于 2018-11-12 07:23:23
回答 2查看 1.2K关注 0票数 0

我需要订购一个类别中的文章,根据标题中的最后一个单词按字母顺序排列。我在网上看到了一些建议,但没有一个是正确的。

我使用一个自定义布局的类别,基于它的id,例如,名为类别-3.php的文件,下面的代码显示帖子。

代码语言:javascript
运行
复制

因此,我需要按标题中的最后一个单词按字母顺序组织这一页上的帖子。

EN

回答 2

WordPress Development用户

发布于 2018-11-12 07:40:07

我会用wp_query。

将这个放在您的functions.php中:

代码语言:javascript
运行
AI代码解释
复制
/**
 * Order posts by the last word in the post_title.
 * Activated when orderby is 'wpse_last_word'
 */
add_filter('posts_orderby', function($orderby_sql, \WP_Query $q) {
  $orderbys = $q->get('orderby');
  if (!$orderbys) {
    return;
  }
  if ($orderby_sql) {
    $orderby_sql_array = [$orderby_sql];
  }
  else {
    $orderby_sql_array = [];
  }
  if (!is_array($orderbys)) {
    $words = explode(' ', $orderbys);
    $orderbys = [];
    foreach ($words as $word) {
      $orderbys[$word] = $q->get('order');
    }
  }
  global $wpdb;
  foreach ($orderbys as $orderby => $direction) {
    if ($orderby == 'wpse_last_word') {
      if (!$direction || !in_array(strtoupper($direction), ['ASC', 'DESC'])) {
        $direction = 'DESC';
      }
      $orderby_sql_array[] = "SUBSTRING_INDEX({$wpdb->posts}.post_title, ' ', -1) $direction";
    }
  }
  return implode(', ', $orderby_sql_array);
}, 100, 2);

现在您可以在您的分类-3.php(没有测试)中这样做了:

代码语言:javascript
运行
复制

但是,您肯定可以使用wp_query,并将它们用作您的args:(如果需要,可以添加其他args )。

代码语言:javascript
运行
AI代码解释
复制
$args = [
    'posts_per_page'   => 10,
    'post_type'        => 'post',
    'orderby'          => 'wpse_last_word',
    'order'            => 'ASC'
];

$the_query = new WP_Query( $args );
票数 1
EN

WordPress Development用户

发布于 2023-05-22 22:31:52

如果您使用的是自定义的post类型,那么这可能适用于您:

代码语言:javascript
运行
AI代码解释
复制
function my_movies_posts_orderby( $orderby, $query ) {
    if ( $query->is_main_query() && $query->is_post_type_archive( 'my-movie' ) ) {
        $orderby = "SUBSTRING_INDEX(post_title, ' ', -1)";
    }
    return $orderby;
}
add_filter( 'posts_orderby', 'my_movies_posts_orderby', 10, 2 );
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/319007

复制
相关文章
Excel按列排序和按行排序
文章背景:Excel二维表中记录着多行多列的数据,有时需要按行或按列排序,使数据更加清晰、易读。下面分别对按列排序和按行排序进行介绍。
Exploring
2022/08/10
3.3K0
Excel按列排序和按行排序
C++中map按value排序
那如果我要以value进行排序呢? 方案:将map的key和value以pair的形式装到vector中,对vector进行排序。 (下面使用unordered_map,而没有使用map)
卡尔曼和玻尔兹曼谁曼
2019/01/22
11K0
C++中map按value排序
【怎么给一个字典进行按值或key来排序?】
在现代编程中,字典是一种不可或缺的数据结构,但有时我们需要对其进行排序以便更有效地处理数据。当涉及到按照值或键对字典进行排序时,我们需要巧妙地运用编程技巧来实现这一目标。本文将深入探讨如何使用各种编程语言中提供的功能,以及一些实用的技巧,来对字典进行按值或键的排序,帮助你更好地应对实际编程挑战。
老虎也淘气
2024/01/30
1880
怎么给一个字典进行按值或key来排序?
字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。
程序员小二
2022/01/11
1.4K0
python中按字母排序_在Python中按字母顺序排序文本文件的内容
我想在文件内部按字母顺序排序。我当前执行此操作的代码不起作用,文件保持不变。这个程序本身就是一个基本的调查问卷,用来实验读写文件。在import time
用户7886150
2021/01/27
5.1K0
java中的sort排序算法_vba中sort按某列排序
C++中提供了sort函数,可以让程序员轻松地调用排序算法,JAVA中也有相应的函数。
全栈程序员站长
2022/09/21
2.3K0
对list中对象按某属性排序
实际上只要一句话children.sort(Comparator.comparing(SDict::getOrderNum));
2021/03/11
4.1K0
对list中对象按某属性排序
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
3.3K0
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
4.8K0
hastable按值排序
最近做了一个项目,需要对一个2维数组的值进行排序然后再取出对应的Key值。开始是用HashTable做的,不过HashTable中的排序只是对Key进行排序,如果想对值进行排序得用其它办法。下面我就把这种方法说下:
codeniu
2022/02/25
1.4K0
python 按中文排序
安装中文库 sudo apt-get update sudo apt-get install language-pack-zh-hans-base sudo dpkg-reconfigure locales 使用 import locale locale.setlocale(locale.LC_COLLATE, 'zh_CN.UTF8') cmp = locale.strcoll courses.sort(lambda x, y: cmp(x.course_name, y.course_name)) 测试
py3study
2020/01/06
1.8K0
Java中对map按key或val排序
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:
sunonzj
2022/06/21
1.6K0
pandas排序 按索引和值排序
pandas 排序 import pandas as pd import numpy as np unsorted_df=pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns=['col2','col1']) print (unsorted_df) # 按标签排序 sorted_df = unsorted_df.sort_index(ascending=False) # 降序 print (sorted_df) s
AI拉呱
2021/01/14
2.8K0
数组按指定顺序排序
数组排序可以直接使用 sort() 方法,可以对数组按规律排序。 但如果指定一个没有规律的顺序进行排序呢? 同样可以使用  sort() 方法: const data = [   { name: '张三', code: 'zs' },   { name: '王五', code: 'ww' },   { name: '赵七', code: 'zq' }, ]; data.sort((star, next) => {   const sortList = ['zq', 'zs', 'ww']   return 
德顺
2022/06/12
2.8K0
Map按单个或多个Value排序,当Value相同时按Key排序
Map可以先按照value进行排序,然后按照key进行排序。 或者先按照key进行排序,然后按照value进行排序,这都是可以的。
向着百万年薪努力的小赵
2023/01/10
2.6K0
orderBy排序,null在最后
我们进行排序查询时: SELECT * FROM `user` ORDER BY username 可以看到null值排到了最上 如果我们要将null值排到最下方可以使用: SELECT * FROM `user` ORDER BY ISNULL(username),username 执行结果: 这是因为ISNULL函数将其转换为了0和1,我们可以顺带查询出来看看: SELECT *,ISNULL(username) FROM `user` ORDER BY ISNULL(username),use
阿超
2022/08/21
8110
orderBy排序,null在最后
mysql截取最后一个字符_sql截取最后一位
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有mid(), substr()。其中,mid(), substr()等价于substring()函数,substring()的功能非常强大和灵活。
全栈程序员站长
2022/11/11
6.6K0
LeetCode - 按奇偶排序数组
LeetCode第905题,难度简单。这题很容易联想到之前发过的LeetCode - 按奇偶排序数组②
晓痴
2019/08/01
1.3K0
LeetCode - 按奇偶排序数组
1177: 按要求排序(指针专题)
输入n和n个整数,然后按要求排序,若输入1,请输出升序排序序列;若输入2,请输出降序排序序列,若输入3,请输出按绝对值升序排序序列。要求程序结构如下,请完善程序。
怠惰的未禾
2023/04/27
6200
按奇偶排序数组II
力扣题目链接:https://leetcode-cn.com/problems/sort-array-by-parity-ii/
代码随想录
2021/10/19
1.1K0

相似问题

表排序器按跨度排序标题?

10

按“最后一个字”列出帖子标题,然后列出第二个“最后”

10

按标题排序子页显示在父页中

10

按类别、名称和标题对帖子进行排序

10

这个元查询有什么问题?(按元键排序,然后按标题排序,不起作用)

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档