我正在使用自定义元框的插件。图像通过管理面板的仪表板上传。现在我想要显示这个图像和我需要的地方。我尝试了不同的方法和功能,但它不起作用。它得到图像的id但不是图像。
要注册的自定义元框图像字段的代码
add_filter( 'rwmb_meta_boxes', 'your_prefix_meta_boxes' );
function your_prefix_meta_boxes( $meta_boxes ) {
$meta_boxes[] = array(
'title' => __( 'Image Gallery', 'textdomain' ),
'post_types' => 'events',
'fields' => array(
array(
'name' => __( 'Image Upload', 'your-prefix' ),
'id' => $prefix . 'test_image',
'type' => 'image_advanced',
),
),
);
return $meta_boxes;
}
获取图片的方法1
$post_meta_data = get_post_meta($post->ID, $prefix.'test_image', true);
var_dump($post_meta_data);
if (!empty($post_meta_data[0])) {
$custom_image = wp_get_attachment_image($post_meta_data[0], 'thumbnail');
var_dump($custom_image);
}
echo $custom_image
它显示图像的ID。
方法2
$images = get_post_meta( $post->ID, $prefix.'test_image', true);
var_dump($images);
if ( $images ) {
var_dump($images);
foreach ( $images as $attachment_id => $img_full_url ) {
$full = wp_get_attachment_link($attachment_id, 'full');
echo "<li>";
echo $full;
echo "</li>";
}
}
它为每个循环提供了无效参数的错误。
答案 0 :(得分:1)
请尝试以下代码并确认代码是否有效?:
显示单张图片
$attachment_id = get_post_meta($post->ID, 'test_image', true);
echo wp_get_attachment_image(attachment_id, 'thumbnail');
显示多张图片
$attachment_ids = get_post_meta($post->ID, 'test_image');
foreach($attachment_ids AS $attachment_id){
echo wp_get_attachment_image($attachment_id, 'thumbnail');
}