同时查询多个元值:

时间:2018-01-15 作者:Samuel Haddad

我的问题是:

$args = array( \'post_type\' => \'pc-portables-gamer\', \'posts_per_page\' => -1, \'meta_query\' => array(

    array( \'key\' => \'modele_du_processeur\', \'value\' => $_GET[\'modele_du_processeur\'] , \'compare\' => \'LIKE\' ), \'relation\' => \'AND\'

    ));

    $query = new WP_Query($args);
这是我的搜索表:

<form action="<?php $GET_[\'SERVER_URI\'] ?>" method="get">

    <input type="checkbox" name="modele_du_processeur" value="Core i3" />
    <input type="checkbox" name="modele_du_processeur" value="Core i5" />
    <input type="checkbox" name="modele_du_processeur" value="Core i7" />

        <input type="submit" name="submit" value="view" />
</form>
有人能告诉我如何获得“Core i5”和“Core i7”的帖子吗?

选中两个框(即:modele\\u du\\u processeur=Core+i5&modele\\u du\\u processeur=Core+i7)只会得到最后一个值!

我试图将输入命名为“modele\\u du\\u processeur[]”,但查询无效,并获取所有帖子(字符串为modele\\u du\\u processeur%5B%5D=核心+i5&modele\\u du\\u processeur%5B%5D=核心+i7)

非常感谢!

1 个回复
SO网友:janh

您需要更改搜索表单,PHP使用fieldname[]符号来接受参数名称的多个值。

<input type="checkbox" name="modele_du_processeur[]" value="Core i3" />
<input type="checkbox" name="modele_du_processeur[]" value="Core i5" />
<input type="checkbox" name="modele_du_processeur[]" value="Core i7" />
完成后,您将在$_GET["modele_du_processeur"], 所以你可以

$args = array(
    \'post_type\' => \'pc-portables-gamer\',
    \'posts_per_page\' => -1,
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        array( \'key\' => \'modele_du_processeur\', \'value\' => $_GET[\'modele_du_processeur\'] , \'compare\' => \'IN\' )
    )
);

$query = new WP_Query($args);

结束

相关推荐