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