代码之家  ›  专栏  ›  技术社区  ›  Regolith Luciens

从高级自定义字段编辑器获取库图像

  •  0
  • Regolith Luciens  · 技术社区  · 7 年前

    我使用编辑器创建了一个元框 advanced custom field 插件

    这个元框显示了一个文本编辑器,我可以从中创建图库并将其添加到帖子中。

    但是在检索库数据时。

    $gallery = get_post_meta($post->ID, 'gallery', true);     
    echo $gallery;
    

    [gallery ids="53,54,55,56"]
    

    通常,库数据可以如下方式检索

    $galleries = get_post_gallery_images( get_the_ID() ); 
    

    但是,如果我使用元框保存库,这似乎不起作用。

    有没有wordpress的方法来获取画廊图片并循环浏览,然后在lightbox中显示这些图片,或者我应该尝试其他方法?

    3 回复  |  直到 7 年前
        1
  •  0
  •   Jitu    7 年前


    echo$gallery;

    [画廊ID=“53,54,55,56”]

    可以试试这个


    $galleries=get\u post\u gallery\u图像(get\u the_ID());

    返回包含图像上载源的图像项数组的列表。

        2
  •  0
  •   Regolith Luciens    7 年前

    <?php
    $gallery = get_post_meta($post->ID, 'gallery', true);
    
    preg_match('/\[gallery.*ids=.(.*).\]/', $gallery, $ids);
    $images_id = explode(",", $ids[1]);
    if ($images_id[0] != "") {
        if (is_array($images_id) || is_object($images_id)) {
            foreach ($images_id as $image) {
                $image_url = wp_get_attachment_image_src($image, 'banner');
                ?>
                <a href="<?php echo $image_url[0]; ?>">
                    <?php echo wp_get_attachment_image($image, 'destinatoin', 'false', array("class" => "img-responsive")); ?>
                </a>
            <?php }
        }
    } ?>
    

    preg_match('/\[gallery.*ids=.(.*).\]/', $gallery, $ids);
    $images_id = explode(",", $ids[1]);
    

    这将创建一个ID数组,然后我可以通过

       foreach ($images_id as $image) {
            $image_url = wp_get_attachment_image_src($image, 'banner');
            ?>
            <a href="<?php echo $image_url[0]; ?>">
                <?php echo wp_get_attachment_image($image, 'destinatoin', 'false', array("class" => "img-responsive")); ?>
            </a>
        <?php }
    
        3
  •  0
  •   Jitu    7 年前

    so$galleries=get\u post\u gallery\u images(get\u the_ID());一无所获。

    所以在你的元框文件中只放图像ID,

    "53,54,55,56"

    $gallery=get\u post\u meta($post->ID,“gallery”,true);

    $gallery\u image\u array=explode($gallery);

    然后$gallery\u image\u数组将有一个图像ID,因此您可以在其中循环,您可以通过以下方式获得这些图像: wp_get_attachment_image_src

    并根据需要打印:)