WP ACF关系字段在functions.php文件中返回空数组

时间:2018-09-14 17:07:46

标签: php wordpress advanced-custom-fields

我正在尝试在wp functions.php文件中生成一个数组,该数组以设计器为键,所有产品为值。当前,在产品页面中使用acf关系字段来链接到设计者页面。这是我到目前为止尝试过的代码。将其放置在header.php文件中时,它没有任何问题,但是当我将此代码块放置在functions.php文件中时,由于get_field('designer_products')返回一个空数组或一个空字符串,它不起作用。不是每个设计师都应该拥有wp_post对象的数组。

$argsT = array('post_type' =>'product', 'orderby' => 'rand', 'order' => 'ASC');
$loopT = new WP_Query($argsT);
$allDesigners = array();
if ($loopT->have_posts()) {
  while ($loopT->have_posts()) {
    $loopT -> the_post();
    $thisProduct = get_the_title();
    $designerPosts = get_field('designer_product');
    foreach ($designerPosts as $designerPost) {
      $thisDesigner = $designerPost->post_title;
      if ($allDesigners[$thisDesigner]){
        $allDesigners[$thisDesigner] .= " " . $thisProduct;
      } else {
        $allDesigners[$thisDesigner] = $thisProduct;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

万一将来有人发现,我最终通过将我的代码包装在返回数组的函数中,然后再调用该函数并将其设置为变量来使其正常工作。 以前,我只是试图立即运行代码,但是似乎由于wp加载functions.php文件的顺序,帖子在调用循环时可能没有可用的信息。