【问题标题】:custom meta box image field. Not getting image自定义元框图像字段。没有得到图像
【发布时间】:2016-03-25 05:06:39
【问题描述】:

我正在使用自定义元框的插件。图像通过管理面板的仪表板上传。现在我想展示这张图片和我需要的地方。我尝试了不同的方法和功能,但它不起作用。它获取图像的 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;
}

获取图片的方法一

  $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>";

                }
            }

它为每个循环给出了无效参数的错误。

【问题讨论】:

  • $prefix 的价值是多少?您使用哪个插件创建自定义元框?
  • 我正在使用 Meta Box 版本 4.8.3 |通过里维斯。
  • 我在数据库中搜索的图像存储在位置 265。我在两个函数中都有 var_dump 在这两种情况下都显示字符串“265”(长度=3)。

标签: php wordpress metadata meta-boxes


【解决方案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');
}

【讨论】:

  • $image = wp_get_attachment_image(get_post_meta(get_the_ID(), 'test_image',1));回声 $image;
  • 此代码仅适用于一张图片。我有六到七张图片,我该怎么办
  • @waqasjr.developer:请找到更新后的答案,让我知道它是否适用于多个图像?
  • 请将 $prefix 与 id 连接起来,让它像魅力一样工作 :)
  • 我已经编辑了答案。请检查一下。希望它能节省您的时间。
猜你喜欢
  • 1970-01-01
  • 2019-11-07
  • 2015-05-12
  • 2013-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多