自定义发布类型中的高级自定义字段布尔值

时间:2013-08-20 作者:Simon Cooper

我正在自定义帖子类型(CPT)中使用高级自定义字段(ACF)插件。

我在ACF中有一个字段组,它包含一个名为“home\\u offer”的图像字段和真/假字段。

我在一个名为Offers的自定义帖子类型中使用这个ACF。

我想循环查看CPT报价,并检查是否选中了真/假字段“home\\u offer”。

如何检查是否选择了真/假字段。

我从这个WP\\u查询开始。

    <div id="offers">
            <?php
                $offers_args = array(
                    \'post_type\' => \'Offers\',
                    \'post_per_page\' => 1,
                    \'meta_query\' => array(
                            array(
                                \'key\'       => \'home_offer\',
                                \'value\'     => \'on\',
                                \'compare\' => \'=\', 
                                \'type\'      => \'CHAR\'
                            );
                    );
                );

                $offers_loop = new WP_Query($offers_args);

                if($offers_loop->have_posts()):
                    while($offers_loop->have_posts()):
                        $offers_loop->the_post();

                $image = get_field(\'image\');        

            ?>

            <div id="offerLeft">

                <img src="<?php echo $image ?>" alt="" />

            </div>  

            <?php

                endwhile;
                endif;

                wp_reset_postdata();

            ?>

        </div>

2 个回复
最合适的回答,由SO网友:gmazzap 整理而成

首先\'post_per_page\' => 1 在您的代码中,参数的正确名称是posts_per_page (请注意每页postS\\u中的复数)

如果要在ACF中查询“真/假”字段,则必须使用

\'meta_query\' => array(
  array(
    \'key\' => \'home_offer\',
    \'value\' => \'1\',
    \'compare\' => \'==\'
  )
)
请参见ACF docs

SO网友:leclaeli

以下代码适用于WordPress>=3.5(source). 我不能让它工作ACF way. 无需以这种方式使用“meta\\u query”。只需将“meta\\u query”替换为以下两行,以提供\\u args和,它应该可以工作。

\'meta_key\'     =>   \'home_offer\',
\'meta_compare\' =>   \'EXISTS\', // or \'NOT EXISTS\' if no offer.

结束

相关推荐

自定义发布类型中的高级自定义字段布尔值 - 小码农CODE - 行之有效找到问题解决它

自定义发布类型中的高级自定义字段布尔值

时间:2013-08-20 作者:Simon Cooper

我正在自定义帖子类型(CPT)中使用高级自定义字段(ACF)插件。

我在ACF中有一个字段组,它包含一个名为“home\\u offer”的图像字段和真/假字段。

我在一个名为Offers的自定义帖子类型中使用这个ACF。

我想循环查看CPT报价,并检查是否选中了真/假字段“home\\u offer”。

如何检查是否选择了真/假字段。

我从这个WP\\u查询开始。

    <div id="offers">
            <?php
                $offers_args = array(
                    \'post_type\' => \'Offers\',
                    \'post_per_page\' => 1,
                    \'meta_query\' => array(
                            array(
                                \'key\'       => \'home_offer\',
                                \'value\'     => \'on\',
                                \'compare\' => \'=\', 
                                \'type\'      => \'CHAR\'
                            );
                    );
                );

                $offers_loop = new WP_Query($offers_args);

                if($offers_loop->have_posts()):
                    while($offers_loop->have_posts()):
                        $offers_loop->the_post();

                $image = get_field(\'image\');        

            ?>

            <div id="offerLeft">

                <img src="<?php echo $image ?>" alt="" />

            </div>  

            <?php

                endwhile;
                endif;

                wp_reset_postdata();

            ?>

        </div>

2 个回复
最合适的回答,由SO网友:gmazzap 整理而成

首先\'post_per_page\' => 1 在您的代码中,参数的正确名称是posts_per_page (请注意每页postS\\u中的复数)

如果要在ACF中查询“真/假”字段,则必须使用

\'meta_query\' => array(
  array(
    \'key\' => \'home_offer\',
    \'value\' => \'1\',
    \'compare\' => \'==\'
  )
)
请参见ACF docs

SO网友:leclaeli

以下代码适用于WordPress>=3.5(source). 我不能让它工作ACF way. 无需以这种方式使用“meta\\u query”。只需将“meta\\u query”替换为以下两行,以提供\\u args和,它应该可以工作。

\'meta_key\'     =>   \'home_offer\',
\'meta_compare\' =>   \'EXISTS\', // or \'NOT EXISTS\' if no offer.

相关推荐