存储通过WordPress创建的快照以与lightbox一起使用

时间:2012-02-27 作者:Sagive

我知道这是一个有点奇怪的问题,但这是一个真正节省时间的问题,所以如果你有任何想法(甚至是部分想法),我真的会回应他们:)

好啊所以我使用wordpress内置界面来捕获和显示远程网站图像。。。这是我正在使用的短代码。。

/*********************************************************************
** SNAPSHOTS
*********************************************************************/
function wpr_snap($atts, $content = null) {
        extract(shortcode_atts(array(
            "snap" => \'http://s.wordpress.com/mshots/v1/\',
            "url" => \'http://www.sagive.co.il\',
            "alt" => \'My image\',
            "w" => \'400\', // width
            "h" => \'300\' // height
        ), $atts));

    $img = \'<img src="\' . $snap . \'\' . urlencode($url) . \'?w=\' . $w . \'&h=\' . $h . \'" alt="\' . $alt . \'"/>\';
        return $img;
}

add_shortcode("snap", "wpr_snap");
(如何使用:https://wordpress.stackexchange.com/a/38293/7990).

那很容易没问题。。但是,如果我想将其与lightbox集成,该怎么办。。既然它不是我网站上的图片,那么有没有办法访问这些图片,甚至写一些东西来上传图片,使其成为那篇特定帖子(我知道这是一个strech)的首选图片,或者以某种方式将其存储在其他地方?(没有插件)。。

为了尝试抓取图像,我制作了第二个短代码,该代码执行相同的快照,但没有将href与lightbox类包装在图像标签内

这是主题中的一行:

<a class="lightImages" href="<?php echo do_shortcode(\'[snapurl url="http://www.sagive.co.il"]\'); ?>"><?php echo do_shortcode(\'[snap url="http://www.sagive.co.il" w="175px" h="125px" alt="\'.get_the_title().\'"]\'); ?></a>

有什么想法吗?

2 个回复
最合适的回答,由SO网友:Dr Deo 整理而成

编辑了答案,忘记我之前说过的每一句话。以下是我发现的

在php中,要生成网站缩略图,您无法使用php的内置函数以本机方式完成,因此您必须调用外部服务或程序来完成。由于wordpress基本上是php,这一事实仍然成立。您可以自己查看其他编码人员struggling to do so here :) . 我相信在url上http://s.wordpress.com/mshots/v1/ 存在这样的服务使用上述服务,例如获取google.com

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.google.com%2F?w=300px&h=200px<请注意,url必须正确编码,这就是为什么您会在url中看到有趣的字符

现在灯箱。

是一个javascript脚本,可以让您获得酷炫的图片效果,并且易于使用。我决定使用的实现是一个名为Lightbox Plus这取决于colorbox(只是lightbox的另一个变体)

  • colorbox尝试进行某种自动照片检测,在我们引用php文件而不是直接图像的情况下可能会失败or so i think :) See this question on stackoverflow. 对于我的例子,问题是因为colorbox在某个地方有这样的代码,var defaults={photo:false;}

    Solution 将false改为true:)
    Details

    1. Download colorboxphoto:false 到truelightbox-plus\\classes\\actions.class.php 并替换所有引用jquery.colorbox-min.js 具有jquery.colorbox.js
    修复您的短代码。这是iam当前使用的一个,但它只生成我的schools website

    function wpr_snap($atts, $content = null) {
            extract(shortcode_atts(array(
                "snap" => \'http://s.wordpress.com/mshots/v1/\',
                "url" => \'http://www.sagive.co.il\',
                "alt" => \'My image\',
                "w" => \'400\', // width
                "h" => \'300\' // height
            ), $atts));
    
        $img = \'<a rel="lightbox[roadtrip]" href="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fchs.mak.ac.ug%2F?w=300px&amp;h=200px"><img src="\' . $snap . \'\' . urlencode($url) . \'?w=\' . $w . \'&h=\' . $h . \'" alt="\' . $alt . \'" style="border:1px solid #333;padding:2px;"/></a>\';
        return $img;
    }
    
    add_shortcode("snap", "wpr_snap");
    
    这就是我看到的in admin areaHow it looks

    祝你好运

  • SO网友:Jonathan Wold

    通过Lightbox访问图像不是问题。虽然您可能会遇到性能问题,当然,您对图像的内容没有最终的控制权(它可能会下降),但通过Lightbox加载图像并没有技术问题。

    远程抓取图像并将其设置为特色缩略图并不是一个很大的扩展,但可能应该考虑另一种方式。

    请看这个问题,了解一个想法:(http://wordpress.stackexchange.com/questions/29198/add-post-thumbnail-from-external-image-with-plugin

    结束

    相关推荐

    images are broken

    我有一段代码,用于显示来自RSS提要的每篇帖子上的图像,这些图像将从yahoo images search获取,我将把这段代码粘贴到我的单曲中。php文件,这样它就会出现在我的帖子之后,我在其中一个网站上找到了这段代码,这段代码用于获取图像,但不是从yahoo获取图像,而是从不同的feed获取图像我使用的代码如下:- <?php include_once(ABSPATH.WPINC.\'/rss.php\'); // path to include script $f