META_QUERY无法比较包含撇号的值

时间:2013-02-28 作者:Joshc

我有WP查询,我只是通过=

我的值包含城镇名称,似乎对大多数名称都很有效。

然而,有些名称包含撇号。。。Madonna dell\'olmo

带撇号的元价值观也不起作用。

这是我的查询。。。

$dealerResults = new WP_Query(array(
    \'posts_per_page\' => -1,
    \'post_type\'     => \'dealer\',
    \'meta_query\'    => array(
        array(
               \'key\' => \'dealer_country\',
               \'value\' => $ajaxCounty,
               \'compare\' => \'=\'
        ),
        array(
               \'key\' => \'dealer_location\',
               \'value\' => $ajaxTown,
               \'compare\' => \'=\'
        )
    )      
));

我正在通过一些jquery函数和ajax传递来自选项值的。

foreach($value as $town){
    echo "<option class=\\"$county_class\\" value=\\"$town\\">$town</option>";
}
-

dealerResults = function () {
    var county = $(\'#dealer-county\').val(),
        town = $(\'#dealer-town\').val(),
        wp_nonce = \'<?php echo wp_create_nonce("dealer_search");?>\';
    if(county != 0 && town != 0){
        $.ajax({
            type: \'POST\',
            url: \'<?php echo admin_url(\'admin-ajax.php\'); ?>?r=\'+Math.random(),
            data: { varCounty : county, varTown : town, action: \'dealer_search\', nonce: wp_nonce },
            success: function(data){
                $(".dealer-wrapper").remove();
                $("#dealer-results").append(data);      
            }
        });
    }
}
-

$ajaxCounty = $_POST[\'varCounty\'];
$ajaxTown = $_POST[\'varTown\'];


我的问题是,如何让查询对包含撇号的元值起作用?


提前感谢

1 个回复
最合适的回答,由SO网友:Andy Adams 整理而成

如果我没弄错的话,WordPress会在REQUEST/GET/POST超全局文件中添加斜杠。尝试此更改:

$ajaxCounty = stripslashes( $_POST[\'varCounty\'] );
$ajaxTown = stripslashes( $_POST[\'varTown\'] );

Related Trac ticket.

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post