0

有没有办法从查询中提取图像 url,并将该 url 回显到同一页面页脚中的插件脚本中?我的问题是我有一个需要静态背景图像的图层滑块。问题是查询是在页面顶部运行的,所以当在页脚中调用 javascript 时,我无法访问循环。

我有这个查询,在正常页面循环的内部:

/*Normal Page Loop Here*/ 
if (have_posts()) : while (have_posts()) : the_post();

/*Begin Secondary Query to be Inserted into this page*/
$args = array(
'post_type' => 'projects',
'orderby' => 'rand',
'posts_per_page' => 1,
'meta_query' => array(
           array(
            'key' => 'custom_featured',
            'value' => 'on',
            )
        )
);
$my_query = new WP_Query($args);


    /*Output Results of Internal Page Query*/
if( $my_query->have_posts() ) {
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
       the_title();
       the_post_thumbnail('i-need-this-url-in-the-footer-script');        

    endwhile;/*End the secondary query loop*/
    wp_reset_query();


endwhile; endif;/*End the page loop*/    

我基本上需要将这个新 WP_Query 的特色图像的 URL 插入到页脚中的脚本中:

<script type="text/javascript">
    //Layer Slider
       $(document).ready(function(){
       $('#layerslider').layerSlider({
       globalBGImage: '<?php echo $imagefromloopurlhere; ?>'
     });
  });
</script>
4

2 回答 2

3

这将获得图像的 URL

$image_src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );  
if($image_src)
     echo $image_src[0];

为了将变量放入页脚,您可以执行以下操作:

global $project_featured_url;
while ($my_query->have_posts()) : $my_query->the_post();
   the_title();
   $image_src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );  
   if($image_src)
      $project_featured_url = $image_src[0];
   else
       $project_featured_url = 'some default url to avoid javascript error';
endwhile;/*End the secondary query loop*/

然后在你的页脚

<?php global $project_featured_url; ?>
<script type="text/javascript">
    //Layer Slider
       $(document).ready(function(){
       $('#layerslider').layerSlider({
       globalBGImage: '<?php echo $project_featured_url; ?>'
     });
  });
</script>
于 2013-08-20T16:37:16.530 回答
0

这应该工作....

<?php get_the_post_thumbnail($post->ID, 'thumbnail'); ?>

只需将缩略图更改为您需要的图像大小。

于 2013-08-20T16:28:51.620 回答