将字符串比较为WP_Query中的数字

DLateef

我正在对具有字段“ stage”的自定义帖子类型“ task”执行WP_Query。我需要使用“ stage”> =另一个任务的“ stage”来获取所有帖子。问题是stage是一个字符串值,因此在元查询中使用> =运算符将不起作用。

目前,我的技巧是创建一个数组,该数组包含数字值$ stage到50的字符串值,并查询该数组中stage的帖子。目前尚无法解决这个问题,因为任何阶段都不会超过12岁,但不是一个非常可扩展或动态的解决方案。我想知道在对运算符使用WP_query之前是否有更好的方法来对其进行突变?

    $stage = get_field('stage', $task_id);

    $future_tasks = array();
    for ($i = intval($stage); $i <= intval($stage) + 50; $i++) {
        array_push($future_tasks, strval($i));
    }

    $tasks_query_args = array(
        'post_type' => array('task'),
        'posts_per_page' => -1,
        'order' => 'DESC',
        'meta_query' => array(
            '0' => array(
                'key' => 'project',
                'value' => $project_id,
                'compare' => '=',
            ),
            '1' => array(
                'key' => 'stage',
                'value' => $future_tasks,
                'compare' => 'IN',
            ),
            'relation' => 'AND',
        ),
    );

理想情况下,查询的第二个参数应类似于:

      '1' => array(
            'key' => 'stage',
            'value' => intval($stage),
            'compare' => '>=',
        ),

但这不起作用,因为stage字段的值是一个字符串。

想知道是否有关于如何更好地实现这一目标的想法?

安德烈·科瓦连科(Andrii Kovalenko)

看起来,使用numeric类型可以解决问题:

$tasks_query_args = array(
    'post_type'      => array( 'task' ),
    'posts_per_page' => - 1,
    'order'          => 'DESC',
    'meta_query'     => array(
        '0'        => array(
            'key'     => 'project',
            'value'   => intval( $project_id ),
            'compare' => '=',
            'type'    => 'numeric',
        ),
        '1'        => array(
            'key'     => 'stage',
            'value'   => intval( $task_id ),
            'compare' => '>=',
            'type'    => 'numeric',
        ),
        'relation' => 'AND',
    ),
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 IN 将多个字符串比较为 Python 中的精确匹配?

来自分类Dev

如何将数组中的输入双精度值比较为空/字符串值(“”)?

来自分类Dev

在JavaScript中将字符串比较为空值

来自分类Dev

字符串“ if”语句比较为字符串为空

来自分类Dev

在Google表格中的QUERY()字符串中连接数字或将数字插入

来自分类Dev

JavaScript:无法将字符串与数字进行比较

来自分类Dev

在Swift中将Int值与格式化字符串比较为Int时失败

来自分类Dev

MongoDB中的字符串与数字比较效率

来自分类Dev

PHP字符串比较中的长数字

来自分类Dev

PHP strpos()函数比较数字中的字符串冲突

来自分类Dev

如何比较列表中包含数字的字符串?

来自分类Dev

JavaScript中数字字符串的词法比较

来自分类Dev

PHP strpos()函数比较数字中的字符串冲突

来自分类Dev

如何在php中比较字符串中的数字

来自分类Dev

将字符串中的字符与字母进行比较?

来自分类Dev

如何比较子字符串和解析C字符串中的数字

来自分类Dev

整数字符串与Java中的字符串比较

来自分类Dev

将字符串中的数字替换为数字+“ f”

来自分类Dev

比较数字值作为字符串

来自分类Dev

比较数字字符串

来自分类Dev

python数字字符串比较

来自分类Dev

比较字符串和数字的方法

来自分类Dev

比较数字值作为字符串

来自分类Dev

比较字符串元素与数字

来自分类Dev

将字符串中的字符更改为数字

来自分类Dev

将NULL与SQL Server中的字符串进行比较

来自分类Dev

将数组中的键名与字符串进行比较。

来自分类Dev

Python将列表中的部分字符串相互比较

来自分类Dev

将日期与字符串javascript中的日期进行比较

Related 相关文章

热门标签

归档