你的问题在这一部分
foreach( $voc_pages as $voc_page ) {
$voc_link = \'<a href="\'.get_page_link( $voc_page->ID ).\'">\'.$voc_page->post_title.\'</a>\';
return $voc_link;
}
您返回
$voc_link
在第一次迭代之后,停止函数并返回其值。你应该
return $voc_link;
在foreach循环之外,并可能将链接保存为数组
将上述部分更改为
foreach( $voc_pages as $voc_page ) {
$voc_link[] = \'<a href="\'.get_page_link( $voc_page->ID ).\'">\'.$voc_page->post_title.\'</a>\';
}
return $voc_link;
编辑您的评论
这只返回“Array”
您很可能正在尝试响应该函数。无法回显数组,这将只打印单词Array
函数返回数组时,有两种选择
选项1将输出通过foreach
环
$links = get_vocations_list();
foreach ( $links as $link ) {
echo $link;
}
选项2将数组转换为函数中的字符串,然后返回字符串
foreach( $voc_pages as $voc_page ) {
$voc_link[] = \'<a href="\'.get_page_link( $voc_page->ID ).\'">\'.$voc_page->post_title.\'</a>\';
}
$voc_link = implode( \'</br>\', $voc_link );
return $voc_link;
然后将函数用作
echo get_vocations_list();