【问题标题】:How to place ACF get_field inside an array post__in Wordpress如何在 Wordpress 中的数组 post__ 中放置 ACF get_field
【发布时间】:2021-02-10 06:33:21
【问题描述】:

我有下面的代码,但它只是发布一个帖子或显示 1 个帖子,但如果我在数组中添加帖子 ID 它可以工作,但如果我添加 $tguides_value 它只显示一个项目

<?php
  $tguides_value = get_field('recommended_tguides');

         $args = array(

            'post_type' => 'travelguides',
            'posts_per_page' => 3,
            'post__in' => array($tguides_value),

问题:如何将 ACF get_field 放在 Wordpress 中的数组 post__in

【问题讨论】:

  • 您的 acf 字段返回什么值?
  • 您是否尝试过使用 get_field_object($selector) 然后在 'post__in' 中使用 $tguides_value['id']
  • @DanielVickers 如果我回显 acf 字段,它会返回数字,我尝试使用 get 字段对象,但它只是输出最新帖子
  • 难怪它只显示一个帖子,那么如果输出的数字只是 1,你就不能指望它显示所有带有该值的帖子 id 吗?
  • @DanielVickers,我有一个自定义字段,我在其中手动添加了 3 个帖子 ID,但现在它只显示一个

标签: php html arrays wordpress advanced-custom-fields


【解决方案1】:

尝试如下使用,

$tguides_value = get_field('recommended_tguides', $postID);

         $args = array(

            'post_type' => 'travelguides',
            'posts_per_page' => 3,
            'post__in' => array($tguides_value),

【讨论】:

  • 感谢您的帮助,但还是一样。显示 1 个帖子
  • 你想在这里做什么?
  • 我正在尝试使用我使用的自定义字段输出 3 个帖子,例如我在自定义字段中添加了 3 个帖子 ID,但即使我添加了 3 个帖子 ID,它也只显示 1 个帖子
  • 我试过仔细检查它,如果我使用这个 'post__in' => 数组(100,101,103),= 它工作但如果我使用这个它不工作 'post__in' => 数组($tguides_value) , (仅显示 1 个帖子
  • 当您使用 100,101 和 103 时,它是三个值,而当您使用 $tguides_value 时,它​​只是一个值。尝试使用循环将所有三个值存储到数组中
【解决方案2】:

您需要通过在逗号处爆炸将字符串的文本字段返回转换为数组,您不能将文本字符串作为数组传递给它。

<?php
  $tguides_value = get_field('recommended_tguides');
  $tguides_array = explode (",", $tguides_value);

         $args = array(

            'post_type' => 'travelguides',
            'posts_per_page' => 3,
            'post__in' => $tguides_array,

【讨论】:

    【解决方案3】:

    感谢 Daniel Vickers 的帮助,我明白了这一点,但应该是 implode 而不是 explode

    这是我最终在我的特定用途中为自己做的事情,它奏效了:

        <?php
        $values = get_field('homepage_magic_test');
        $valuett = implode(",",$values);
        ?>
        <?php get_jig(array(
            'img_alt_field' => 'alternate',
            'title_field' => 'title',
            'recent_posts' => 'yes',
            'recents_title_override' => 'custom_title',
            'recents_post_type' => 'page',
            'post_ids' => $valuett
        ));
            ?>
    

    所以我假设以下代码适用于上面的代码。

    $tguides_value = get_field('recommended_tguides');
    $tguides_imp = implode(",",$tguides_value);
    
             $args = array(
    
                'post_type' => 'travelguides',
                'posts_per_page' => 3,
                'post__in' => $tguides_imp,
    

    【讨论】:

      猜你喜欢
      • 2019-11-16
      • 2014-09-13
      • 2020-03-04
      • 1970-01-01
      • 2017-05-28
      • 2019-11-03
      • 2016-05-01
      • 2014-09-05
      • 1970-01-01
      相关资源
      最近更新 更多