wordpress - 如何获取多个数组的自定义元字段的值
问题描述
我尝试bedrijf
从自定义字段的所有值中获取自定义帖子类型的所有帖子的列表。该字段是一个值数组。但是,当我尝试输出自定义字段时,我得到
注意:数组到字符串的转换...
我尝试了不同的方法,例如foreach
, wp_pluck_list
,但到目前为止,没有成功。
function make_list_regios(){
global $post;
$output = '<ul>';
$post_idees = new WP_Query(array('post_type' => 'bedrijf'));
$values = wp_list_pluck( $post_idees->posts, 'ID');
foreach( $values as $value ) {
$meta_values[] = get_post_meta( $value, 'elements', true );
$output .= '<li>'.$meta_values.'</li>';
}
return ($output);
}
add_shortcode('regios', 'make_list_regios');
当 I 时print_r($values)
,它是一个数组post_id
。当我打印出来时$meta_values
,我得到一个数组,如下所示:
Array ( [0] => [1] => Array ( [0] => groningen [1] => limburg ) [2] => [3] => [4] => Array ( [0] => noordholland [1] => zuidholland ) )
我要输出的是选定区域的完整列表。
解决方案
在@j 的帮助下。scott elbein 我终于解决了这个问题。正确的代码(至少在我的情况下)是:
function make_list_regios(){
global $post;
$output = '<ul>';
$post_idees = new WP_Query(array('post_type' => 'bedrijf'));
$values = wp_list_pluck( $post_idees->posts, 'ID');
foreach( $values as $value ) {
$meta_values[] = get_post_meta( $value, 'elements', true );
$meta_values2 = array_filter($meta_values);
$meta_values3 = call_user_func_array('array_merge', $meta_values2);
}
foreach($meta_values3 as $meta_value3){
$output .='<li>'.$meta_value3.'</li>';
}
$output.='</ul>';
return ($output);
}
add_shortcode('regios', 'make_list_regios');
推荐阅读
- mysql - 我如何找到列的排序规则,因为我得到不同的结果取决于我在哪里看?
- javascript - 使用 https 在新窗口中打开 SSRS URL 问题
- paypal - 没有贝宝账户的用户使用信用卡订阅贝宝
- c# - 移动时像素化的字符变形。滞后输入
- azure - 从 azure 函数应用监视 azure 磁盘上的文件夹
- reactjs - 如何在 React Router v4 中的 URL 更改时允许临时抽屉关闭而内容不消失?
- c++ - “类”没有命名类型
- python - 每个星期五@startup 运行 cronjob 的语法应该是什么?
- asp.net-mvc - 使用 ELMAH 的托管服务帐户发送电子邮件
- c# - 使用 DataView 过滤返回语法错误