当前位置:首页 > 网络科技 > WordPress自定义字段字符串类型转数字排序

WordPress自定义字段字符串类型转数字排序

1年前 (2024-08-27)admin网络科技49

刚刚看到泪雪博客还有读者留言问我什么时候更新博客,那就择日不如撞日,分享一下子凡刚刚在 WordPress 开发中遇到的一个情况做个技术分享,WordPress 本身已经具备很好的二次开发接口,但是还是无可避免有时候会用到,就像子凡给我们的网站开发了一个标签页访问统计功能,但是在后台访问量却无法准确的安装访问量排序,所以这就是子凡要解决的问题。

经过一番排除发现给 WordPress 标签自定义字段的参数在数据库中默认都是字符串类型,而对于访问量这种数字排序就需要将字符串转换一下类型,才能够正常的排序。

当然 WordPress 在 wp_query 查询中需要对自定义类型做数据类型排序的可以直接把 meta_value 换成 meta_value_num 就行了。

所有下面子凡把实现的整段代码全部贴出来,方便大家参考学习。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//WordPress 后台标签页面排序
add_filter('terms_clauses', 'fanly_basic_terms_clauses', 10, 3);
function fanly_basic_terms_clauses($pieces, $taxonomies, $args) {
	global $wpdb,$pagenow;
	if($pagenow == 'edit-tags.php' && in_array( 'post_tag', $taxonomies ) && isset($_GET['orderby']))
	switch($_GET['orderby']){
		case 'views':
			$pieces['join']		.= " INNER JOIN $wpdb->termmeta AS tm ON t.term_id = tm.term_id";
			$pieces['where']	.= " AND tm.meta_key = 'views'";
			//$pieces['orderby']	= ' ORDER BY tm.meta_value ';//这是没有转换类型的排序
			$pieces['orderby']	= ' ORDER BY CAST(tm.meta_value AS UNSIGNED) ';//转换类型排序(这才是本文要分享的重点)
		break;
	}
	return $pieces;
}

注意查看代码中的注释信息,其实就是使用了 SQL 中的 CAST 方式,本来想要转换成数字类型发现居然报错了,后来换成 UNSIGNED 就成功了,我自己也比较懵,不过反正解决问题了,就不继续深入了。

更多关于WordPress优化及疑问可以添加留言

w.haolusi.com

本文链接:https://w.haolusi.com/wordpress-orderby-cast.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1805

标签: WordPress优化
分享给朋友:

“WordPress自定义字段字符串类型转数字排序” 的相关文章

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

最近可以说是站长们一片哀嚎,清明节前刚经历一次大的波动恢复没两天,让后百度又一次性的在清明节再次送走了,目前又开始缓慢的在恢复,但是似乎情况也并不是很妙。就在这时,百度搜索资源平台发布了一则“关于升级平台「快速收录」工具的通知”的公告,意思就是正式下线快速收录功能,换新上线一个叫做“快速抓取”的工具...

WordPress如何移除登录界面中英文语言切换框

WordPress如何移除登录界面中英文语言切换框

其实早在 WordPress 5.9 版本开始,WordPress 默认登录界面就增加了语言切换选项, 其目的就是允许用户自己选择要使用的语言登录后台。这个功能对于多语言网站或是国际性站点可能还有点用,但是对于国内用户来说就显得有些多余。最近子凡在做更深度的 WordPress 优化,同时也为了丰富...

MYSQL字符集有哪些

MYSQL字符集有哪些

MySQL 中的字符集是用来确定数据库中字符数据的编码方式,它决定了如何存储和检索数据。MySQL 中常用的字符集:UTF8:UTF-8 是一种 Unicode 字符编码方式,它可以表示世界上大部分的文字字符。MySQL 中的 UTF8 字符集最多只能存储 3 字节的 UTF-8 编码字符,...

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

BOOM Library Discography|影视广播级实录拟音音效素材库|Sound FX Library|下载|Download

BOOM Library Discography|影视广播级实录拟音音效素材库|Sound FX Library|下载|Download

        本篇文章目录|Table of ContentsHideSound FX:什么是音效专业的高品质音效 – BOOM Library试听下载(百度云)精品资源整理(百度云)Boom Library 全集(125)资源整理|百度云|未压缩文件¥30...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。