Bxslider、自定义字段和 Wordpress

Bxslider, Custom Fields & Wordpress

如何使用下面的现有代码实现两件事:

  1. 删除空值,因为这些导出的 bxslider 项目具有损坏的链接
  2. 出于某种原因,寻呼机中的每个图像都显示了两个版本。任何人都可以看到我为什么以及如何停止这些重复。

    <ul class="bxslider">
    <?php
    $images = get_post_meta(get_the_ID() , "images", true);
    $images = unserialize($images);
    
    // Read into array
    
    foreach($images as $image)
        {
        $ar[] = array(
            "order" => $image['order'],
            "img_id" => $image['image_id'],
            "desc" => $image["desc"]
        );
        }
    
    // Sort array by order
    
    asort($ar);
    
    // Output data for Galleria
    
    foreach($ar as $item)
        {
        $image_id = $item['img_id'];
        $media_med = wp_get_attachment_image_src($image_id, "medium", false);
        $media_full = wp_get_attachment_image_src($image_id, "full", false);
        echo "<li><img data-title='" . $item["desc"] . "' data-big='" . $media_full[0] . "' src='" . $media_med[0] . "'></li>";
        }
    
    ?>
    </ul>
    <div id="bx-pager">
    <?php
    $images = get_post_meta(get_the_ID() , "images", true);
    $images = unserialize($images);
    
    // Read into array
    
    foreach($images as $image)
        {
        $ar[] = array(
            "order" => $image['order'],
            "img_id" => $image['image_id'],
            "desc" => $image["desc"]
        );
        }
    
    // Sort array by order
    
    asort($ar);
    
    // Output data for Galleria
    
    foreach($ar as $item)
        {
        $image_id = $item['img_id'];
        $media_med = wp_get_attachment_image_src($image_id, "medium", false);
        $media_full = wp_get_attachment_image_src($image_id, "full", false);
        echo "<a href='' data-slide-index='0'>";
        echo "<img src='" . $media_med[0] . "'>";
        echo "</a>";
        }
    
    ?>
    </div>
    

首先,您可以在 $ar 数组上 运行 array_filter() 来删除错误/空值。

接下来,你可能不需要这一行

$media_full = wp_get_attachment_image_src($image_id, "full", false);

您可以将其注释掉,不会对页面产生任何影响。