Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress查询不工作_Wordpress - Fatal编程技术网

Wordpress查询不工作

Wordpress查询不工作,wordpress,Wordpress,我正试图使用这段代码来提取包含PackageID 3的帖子,但是它似乎不起作用,而是提取任何帖子 我错过了什么 <?php $args = array( 'orderby' => 'rand', 'order' => 'ASC', 'meta_query' => array( 'key' => 'packageI

我正试图使用这段代码来提取包含PackageID 3的帖子,但是它似乎不起作用,而是提取任何帖子

我错过了什么

        <?php 
        $args = array(
            'orderby'  => 'rand',
            'order'    => 'ASC',    

            'meta_query' => array(
                'key' => 'packageID',
                'value' => '3',
                'compare' => '=',
                'type'    => 'NUMERIC',
            ),
        );
        query_posts($args); ?>
        <?php while (have_posts() ) : the_post(); ?>
           <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        <?php endwhile; ?>

我认为这是因为meta_查询需要是数组中的一个数组,所以代码看起来像

<?php 
    $args = array(
        'orderby'  => 'rand',
        'order'    => 'ASC',    

        'meta_query' => array(
            array(
                'key' => 'packageID',
                'value' => '3',
                'compare' => '=',
                'type'    => 'NUMERIC',
            )
        ),
    );
    query_posts($args); ?>
    <?php while (have_posts() ) : the_post(); ?>

    <?php endwhile; ?>


我认为这是因为meta_查询需要是数组中的一个数组,因此代码如下所示

<?php 
    $args = array(
        'orderby'  => 'rand',
        'order'    => 'ASC',    

        'meta_query' => array(
            array(
                'key' => 'packageID',
                'value' => '3',
                'compare' => '=',
                'type'    => 'NUMERIC',
            )
        ),
    );
    query_posts($args); ?>
    <?php while (have_posts() ) : the_post(); ?>

    <?php endwhile; ?>


检查您的主机是否禁用了orderby rand-我知道WPengine默认情况下会禁用orderby rand,因为它可以提供慢速查询。这是您的完整代码吗?while循环后是否有任何回显?是的,很抱歉,如果您的主机已禁用orderby rand,则会删除该循环以保存长时间的后检查-我知道WPengine默认情况下会这样做,因为它可以提供慢速查询。这是您的完整代码吗?while循环之后是否回显了任何内容?是的,很抱歉,为了保存较长的postId,刚刚删除了。如果需要多个循环,请使用WP_Query;如果需要复杂的循环,请使用Query_posts(),如果需要修改当前循环并获取_posts(),请使用Query_posts()我从来没有诚实地说过,但是WordPress说get_帖子最合适的用法是根据一组参数创建一个帖子数组。我说当你需要多个循环或复杂循环时使用WP_Query,当你需要修改当前循环和获取_posts()时使用Query_posts()我从来没有诚实地说过,但是WordPress说获取_posts最合适的用法是基于一组参数创建一个posts数组。