在另一个数组的‘Exclude’键中使用数组的帮助

时间:2019-03-12 作者:Luiz Cruz

我想从检索附加到帖子的图像的数组中排除两个项目(使用它们的ID):帖子的缩略图(特色图像)和通过高级自定义字段附加的图像。

我正在使用get_post_thumbnail_id() 最后一个人的身份证使用get_field_object(\'icon\'), 哪里\'icon\'$selector 自定义字段(本质上是一个图像,用作图标)。如果您不熟悉ACF的文档,相关部分如下here.

我已经放弃了一切与演示无关的东西。这就是我的问题所在:

$var = get_children(array(
  \'exclude\' => array(
    get_post_thumbnail_id(),
    get_field_object(\'icon\')[\'ID\'])
));
我在想get_post_thumbnail_id 是一个整数,因此它工作正常,但get_field_object[\'ID\'] 是一个字符串,这就是它不起作用的原因。如果我能用echo 这可能会奏效。

我很想知道哪里错了,以及如何做到这一点。

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

The problem is that you use wrong ACF function.

get_field_object returns the settings of a specific field. Each field contains many settings such as a label, name and type. This function can be used to load these settings as an array along with the field’s value.

So get_field_object(\'icon\')[\'ID\']) doesn\'t return the ID of image attachment, but ID of that ACF field.

What you want to use is:

$var = get_children(array(
    \'exclude\' => array(
        get_post_thumbnail_id(),
        get_field(\'icon\')
    )
));

If your field returns the ID of selected image, or

$image = get_field(\'icon\');
$var = get_children(array(
    \'exclude\' => array(
        get_post_thumbnail_id(),
        $image[\'ID\']
    )
));

if it returns an array.

More on get_field for Image field

SO网友:Antti Koskinen

ACF函数返回一个数组,那么这是否可行?

$field_object = get_field_object(\'icon\'); // add post id as 2nd param if needed
$var = get_children( 
  array(
  \'exclude\' => array(
    get_post_thumbnail_id(),
    $field_object[\'value\'] // the saved value of the field, type cast to int if needed
    )
  )
);

相关推荐

Meta Query Array Error 500

我有两个CPT——Match 和Player. 每个Match post entry包含与特定比赛相关的详细信息(谁比赛、得分手等)。该信息通过与个人对应的ACF Post对象字段输入Player. 不过,我希望实现的是在每个Player 发布总共有多少次出场、次出场和进球。为此,我使用以下方法meta_query 获取球员开始比赛的总成绩。查询很繁琐,但它可以完成这项工作。不过,我现在遇到的问题是,试图使用相同的查询结构生成子外观的总数会耗尽内存,并返回错误500。$args = array(\'pos