【问题标题】:set Nivo Slider path to absolute将 Nivo Slider 路径设置为绝对路径
【发布时间】:2013-03-07 01:21:12
【问题描述】:

我在 Wordpress 中使用带有自定义帖子的 jQuery Nivo Slider 插件(但不是同名的 Wordpress 插件),它完美地工作并且很简单,除了它将站点根目录添加到图像路径中。我正在为我的图像拉一条绝对路径

http://www.site.com/images/image.jpg

但 Nivo 将站点根目录添加到路径中,这会生成:

www.site.com/http://www.site.com/images/image.jpg

我在 Nivo 的文档中找不到将其设置为采用绝对路径的选项...有什么想法吗??

这是我的模板代码:

            <?php global $post;
                 $myposts = get_posts('post_type=homepageslider&numberposts=4&order=asc');
                 foreach($myposts as $post) :
                 setup_postdata($post);?>


                <a href="<?php the_field('link'); ?>"><img src="<?php the_field('image'); ?>" data-thumb="<?php the_field('image'); ?>" /></a>

            <?php endforeach; ?>

几个cmets:

  • print_r 显示“图像”正在回显这个确切的路径:http://www.mysite.com/wp-content/uploads/product1.jpg(这是正确的)
  • 当从幻灯片代码中拉出时,该循环会生成 4 张图像,并且没有损坏的图像图标。
  • 我尝试使用 Nivo Slider WP 插件,它运行良好,但出现了同样的问题:路径损坏,链接图标损坏(即使图像正在加载)。

下面是浏览器渲染的 HTML。如您所见,“当前幻灯片”路径很好。问题在于 nivo-slice div 中的内容:它为它们添加了一个额外的根。这是我在没有任何自定义帖子或字段的情况下使用插件时遇到的相同问题。

<a class="nivo-imageLink" href="http://www.mysite.com/products/product1/" style="display: none;">
<a class="nivo-imageLink" href="http://www.mysite.com/products/product2/" style="display: none;">
<a class="nivo-imageLink" href="http://www.mysite.com/products/product3/" style="display: none;">
<a class="nivo-imageLink" href="http://www.mysite.com/products/product4/" style="display: block;">
<img class="nivo-main-image" src="http://www.mysite.com/wp-content/uploads/product1.jpg" style="display: inline; height: 377px;">

<div class="nivo-caption"></div>

<div class="nivo-slice" name="0" style="left: 0px; width: 971px; height: 377px; opacity: 1; overflow: hidden;">
    <img style="position:absolute; width:971px; height:auto; display:block !important; top:0; left:-0px;" src="www.mysite.com/http://www.mysite.com/wp-content/uploads/product1.jpg">
</div>

(并且 div nivo-slice 使用不同的幻灯片重复 [name from 0 - 14])

这是控制台中生成的错误(每次滑块旋转时重复)

GET http://www.mysite.com/http:/www.mysite.com/wp-content/uploads/product1.jpg 404 (Not Found) /http:/www.mysite.com/wp-content/uploads/product1.jpg:1
GET http://www.mysite.com/http:/www.mysite.com/wp-content/uploads/product.jpg 404 (Not Found) 

另一个更新:我完全退出了 wordpress 循环并放入了 4 个静态图片链接。旋转器工作正常,图像显示正常,但存在同样的问题,图像图标损坏并将网站网址添加到现有路径。

【问题讨论】:

  • 请贴一些代码。标记会有所帮助。
  • 如果您不使用 wordpress 插件并使用 jQuery 插件,您可以控制它从非 wordpress 中提取图像的位置:/
  • @ChristopherMarshall 我添加了所有关于我的故障排除工作的标记和注释。
  • @CBroe:我删除了重复项(我将其保留是因为我最初认为这是一个不同的问题,并认为我的解决方案可以帮助其他也误解了真正问题的人)

标签: jquery wordpress absolute-path nivo-slider


【解决方案1】:

在插件中,您可以指定绝对路径。 Wordpress 已经使用以下代码内置了它:

$wpDir = ABSPATH;
print_r($wpDir) // path to wp install

您可以看到显示的内容,然后相应地调整您的图像路径。

【讨论】:

  • 在哪里可以在插件中指定绝对路径?我没有使用 Wordpress 插件。我确实用这个插件尝试过:wordpress.org/extend/plugins/nivo-slider-for-wordpress 具有相同的错误路径结果。我想弄清楚 Jquery 插件的问题,但此时我会使用任何实际工作
【解决方案2】:

线索就在您收到的 404 错误消息中。

http:/www.mysite.com/wp-content/uploads/product1.jpg

URL 格式错误,因为该方案缺少额外的正斜杠,我想这会被解释为相对 URL。

【讨论】:

  • 嘿,好收获!但那不是从我的领域中被拉出来的东西。来自我的字段的路径正是:http://www.mysite.com/wp-content/uploads/product1.jpg 而不是缺少正斜杠的格式错误的地址。在这个插件的某个地方,它被剥离了......?
猜你喜欢
  • 2014-01-28
  • 2012-01-31
  • 2017-08-01
  • 2011-11-07
  • 2011-05-02
相关资源
最近更新 更多