查询高级自定义域

时间:2014-01-29 作者:SixfootJames

我一直在重复这件事Advanced Custom Field query working.

根据上面链接中的文档,我的阵列应该是这样的:

$args = array(
    \'numberposts\' => -1,
    \'post_type\' => \'event\',
    \'meta_key\' => \'location\',
    \'meta_value\' => \'Melbourne\'
);
下面是我的数组。问题显然出在我试图查询的meta\\u键和meta\\u值中。如果没有meta\\u键和meta\\u值,所有产品都将按预期返回。我已经进入数据库,以确保我有正确的值,所以这看起来对我来说是正确的。有什么东西是我可能错过的吗?谢谢

        <section class="entry-content clearfix search-results sectiondrop" itemprop="articleBody">
            <h3>Search Results</h3>
            <?php 
                $args = array( 
                    \'post_type\' => \'Product\', 
                    \'posts_per_page\' => -1, 
                    \'orderby\' => \'title\', 
                    \'order\' => \'ASC\', 
                    \'meta_key\' => \'product_type\',
                    \'meta_value\' => \'Paper\'
                );
                $loop = new WP_Query( $args ); ?>
                <ul>
                <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                        <li>
                            <strong><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a> - <?php the_field(\'product_type\'); ?></strong><br>
                            <?php the_field(\'product_description\'); ?><br><br>
                        </li>

                <?php endwhile; ?>
                <?php wp_reset_query(); ?>
                </ul>
            <?php } ?>
        </section>

EDIT:

这就是我的阵列现在的样子:

$args = array(
    \'post_type\' => \'Product\', 
    \'posts_per_page\' => -1, 
    \'orderby\' => \'title\', 
    \'order\' => \'ASC\',
    \'meta_query\' => array(
           array(
               \'key\' => \'product_type\'
           )
        )

);
仅凭“键”就可以做到这一点,但只要我添加“值”,搜索就不会返回任何结果。我知道在这种情况下,值应该是“纸”。

EDIT

我再次查看了DB,它是从wp\\u posts到wp\\u postmeta的乘积,并通过“Paper”过滤meta\\u值,它们都返回以下a:1:{I:0;s:9:“Paper”;}应该只有“纸”

1 个回复
SO网友:fischi

尝试使用meta_query 在您的$args. 这样做你会灵活得多。有关可能性的完整参考,请检查Codex

$args = array( 
    \'post_type\' => \'Product\', 
    \'posts_per_page\' => -1, 
    \'orderby\' => \'title\', 
    \'order\' => \'ASC\', 
    \'meta_query\' => array(
       array(
           \'key\' => \'product_type\',
           \'value\' => \'Paper\',
           \'compare\' => \'=\',
       )
    )
);

结束

相关推荐

如何在可湿性粉剂主题中正确添加JQuery?

我是WordPress的新手,我有以下疑问:我必须包括JQuery 我是这样做的:我将以下函数创建为functions.php 主题文件,我将其添加为操作:function load_java_scripts() { // Load FlexSlider JavaScript that handle the SlideShow: wp_enqueue_script(\'jQuery-js\', \'http://code.jquery.com/jquery.js\', ar

查询高级自定义域 - 小码农CODE - 行之有效找到问题解决它

查询高级自定义域

时间:2014-01-29 作者:SixfootJames

我一直在重复这件事Advanced Custom Field query working.

根据上面链接中的文档,我的阵列应该是这样的:

$args = array(
    \'numberposts\' => -1,
    \'post_type\' => \'event\',
    \'meta_key\' => \'location\',
    \'meta_value\' => \'Melbourne\'
);
下面是我的数组。问题显然出在我试图查询的meta\\u键和meta\\u值中。如果没有meta\\u键和meta\\u值,所有产品都将按预期返回。我已经进入数据库,以确保我有正确的值,所以这看起来对我来说是正确的。有什么东西是我可能错过的吗?谢谢

        <section class="entry-content clearfix search-results sectiondrop" itemprop="articleBody">
            <h3>Search Results</h3>
            <?php 
                $args = array( 
                    \'post_type\' => \'Product\', 
                    \'posts_per_page\' => -1, 
                    \'orderby\' => \'title\', 
                    \'order\' => \'ASC\', 
                    \'meta_key\' => \'product_type\',
                    \'meta_value\' => \'Paper\'
                );
                $loop = new WP_Query( $args ); ?>
                <ul>
                <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                        <li>
                            <strong><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a> - <?php the_field(\'product_type\'); ?></strong><br>
                            <?php the_field(\'product_description\'); ?><br><br>
                        </li>

                <?php endwhile; ?>
                <?php wp_reset_query(); ?>
                </ul>
            <?php } ?>
        </section>

EDIT:

这就是我的阵列现在的样子:

$args = array(
    \'post_type\' => \'Product\', 
    \'posts_per_page\' => -1, 
    \'orderby\' => \'title\', 
    \'order\' => \'ASC\',
    \'meta_query\' => array(
           array(
               \'key\' => \'product_type\'
           )
        )

);
仅凭“键”就可以做到这一点,但只要我添加“值”,搜索就不会返回任何结果。我知道在这种情况下,值应该是“纸”。

EDIT

我再次查看了DB,它是从wp\\u posts到wp\\u postmeta的乘积,并通过“Paper”过滤meta\\u值,它们都返回以下a:1:{I:0;s:9:“Paper”;}应该只有“纸”

1 个回复
SO网友:fischi

尝试使用meta_query 在您的$args. 这样做你会灵活得多。有关可能性的完整参考,请检查Codex

$args = array( 
    \'post_type\' => \'Product\', 
    \'posts_per_page\' => -1, 
    \'orderby\' => \'title\', 
    \'order\' => \'ASC\', 
    \'meta_query\' => array(
       array(
           \'key\' => \'product_type\',
           \'value\' => \'Paper\',
           \'compare\' => \'=\',
       )
    )
);

相关推荐

如何读取WordPress$Query关联数组(散列)键的值

WordPress编程新手(来自更为传统的环境),并试图了解其一些“独特”特性。我们的网站上有一个目录页,此代码驻留在functions.php, 如果条件为true,则调整结果。if( $query->is_post_type_archive( \'directory\' ) ){ ...//do stuff } 我想知道如何获取is_post_type_archive 这就是“目录”当我对值使用测试时。。。var_dumb($query->is_post