在上截取查询posts_where
滤器您可以在其中替换非数值:
preg_replace( "/[^0-9,.]/", "", $yourMeta );
或在(通用)代码段中:
add_action( \'posts_where\', \'wpse120784WhereDiameter\', 100 );
function wpse120784WhereDiameter( $where )
{
// If conditions here - only target the cases where we need it
# if ( foo ) { etc.
// Only run once for this single query
remove_filter( current_filter(), __FUNCTION__ );
$diameter = get_post_meta( ... );
$where .= preg_replace( "/[^0-9,.]/", $diameter, $where );
return $where;
}
当您设法确定要搜索的确切MM直径时,Regex搜索/替换调用将简单地弹出
MM
/
Inch
(无论有什么单位)。
当然,您需要以某种方式访问post meta(get_post_meta()
) 在Regex替换任务中更准确地定位它们的值,但它应该可以帮助您实现目标。
不过,我认为从你的条目中删除MM会比你想要实现的更容易、更好。