确保字符串是有效的SQL’order by’子句。

原型

sanitize_sql_orderby( string $orderby )

描述

接受一个或多个列,有或没有排序顺序(ASC / DESC)。例如’column_1’,‘column_1,column_2’,‘column_1 ASC,column_2 DESC’等

参数

$orderby (string) (Required) 按订单条款进行验证。

返回值

(string|false)  如果有效则返回$ orderby,否则返回false。

源文件

路径:wp-includes/formatting.php

<?php
...
function sanitize_sql_orderby( $orderby ) {
	if ( preg_match( '/^s*(([a-z0-9_]+|`[a-z0-9_]+`)(s+(ASC|DESC))?s*(,s*(?=[a-z0-9_`])|$))+$/i', $orderby ) || preg_match( '/^s*RAND(s*)s*$/i', $orderby ) ) {
		return $orderby;
	}
	return false;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/sanitize_sql_orderby/