如何在wordpress中获取上传的自定义背景图片列表?

时间:2014-06-26 14:13:27

标签: php wordpress background-image

我正在构建一个主题,我想使用'超大'脚本来旋转背景图像。 我使用WP内置的自定义程序上传了几张背景图片。它们显示在“背景图片” - >“已上传”标签下的自定义程序中。

我正在寻找的是检索这些图片的网址的代码 - 就像在自定义程序中完成一样,但我会在我的脚本中使用它。

我查看了/ wp-admin /中的'customize.php',但它只调用了一些函数,这个函数的代码在别处。任何人都知道这段代码的位置?

有趣的是,通过自定义程序上传的图片不会显示在媒体库中......

任何人都可以提供帮助吗?

编辑:换句话说 - 什么是返回通过自定义程序上传的自定义背景图片网址的查询?

感谢。

2 个答案:

答案 0 :(得分:0)

如果是静态页面,您可以尝试使用此插件进行acf插件repeater field

<div id="myCarousel" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
        <?php if(get_field('carrusel')):?>
            <?php while(has_sub_field('carrusel')): ?>
        <div class="item">
            <img src="<?php $image = get_sub_field('image'); echo $image; ?>" alt="Slide">
        </div>
            <?php endwhile ?>
        <?php endif ?>
    </div>
    <a id="nav-izq" class="left carousel-control" href="#myCarousel" data-slide="prev">
        <img src="<?php PRINT IMAGES ?>/nav-izq.png" alt="">
    </a>
    <a id="nav-der" class="right carousel-control" href="#myCarousel" data-slide="next">
        <img src="<?php PRINT IMAGES ?>/nav-der.png" alt="">
    </a>
</div>

这是使用acf repeater字段创建的bootstrap轮播的示例

答案 1 :(得分:0)

想出来!我在整个WP数据库中搜索了自定义背景图像的ID。原来他们在'post_meta'表中有一个特殊的键:'_ wp_attachment_is_custom_background'

在WP_query中使用此键我能够通过自定义程序找到作为自定义背景上传的图像。

为了每个人的利益,这里是我在'header.php'中使用的代码:

<script type="text/javascript">
    jQuery(function($){
        $.supersized({
            // Functionality
            slide_interval    : 5000,
            transition        : 1, 
            transition_speed  : 2000,               
            slide_links       : 'blank',
            slides            : [
<?php 
$args = array( 'post_type' => 'attachment', 
               'post_mime_type' =>'image', 
               'post_status' => 'inherit',
               'meta_query' => array (
                  array (
                    'key' => '_wp_attachment_is_custom_background',
),) ); 
$bk_images = new WP_Query( $args ); 
$in = 0; 
$in_end = sizeof($bk_images->posts);
foreach ( $bk_images->posts as $bk) { 
    $in++;
    echo "   {image : '" . wp_get_attachment_url( $bk->ID ) . "', title : 'Title', url : 'url'}"; 
    if ($in<$in_end) { echo ",\n"; } else { echo "\n"; }
} ?>
                                 ]
        });
    });
</script>
相关问题