如何在Wordpress中将ACF get_field放置在数组post__中

时间:2019-04-09 06:50:51

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

我有下面的代码,但它只是发布一个帖子或显示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

3 个答案:

答案 0 :(得分:0)

尝试如下使用

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

         $args = array(

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

答案 1 :(得分:0)

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

<?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,

答案 2 :(得分:0)

多亏了 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,