在第一次运行/开机自检后更换/删除快捷代码

时间:2015-12-15 作者:Patrick

我想用一个短代码将其替换为url格式的图像。

我的想法:

[shortcode url="http://google.de/aImage.jpg"]
我用inbg-IFTTT发布这个短代码。发布文章后,短代码应替换为图像。但图像应该来自我的“本地”图书馆。因此,短代码应该下载图像,将其自身替换为库中图像的html标记。。。就是这样:-D

有没有可能这样使用短代码?怎样

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

示例帖子应该是内容。

Samplepost{IFTTImageFetch=“”https://drscdn.500px.org/photo/132307433/m%3D900/4c2b5e1f7f8c4d4a11a56f8f3cfdc565“}一些东西..asd asd asd

  function getImageUrlOutOfContent($content)
    {
        preg_match_all(\'/\\\\{IFTTTImageFetch="([^"]+)"\\\\}/i\', $content, $matches);
        $url = $matches[1][0];
        importRemoteMedia($url, $post->ID);     
        $content = str_replace($url, "", $content);
        return $content;
    }
    add_filter(\'content_save_pre\', \'getImageUrlOutOfContent\', 10, 1);
它应该解析前缀和url-进行下载。。。并将其从内容中删除。。。但它甚至没有显示匹配。。。

SO网友:grappler

您不需要传统意义上的短代码。你可以用这样的东西{imageurl=""http://google.de/aImage.jpg}

您将使用过滤器content_save_pre 要在内容保存到数据库之前运行搜索并替换为您从中获得的img标记media_sideload_image(). media_sideload_image() 从URL下载图像并将其添加到media manager,然后返回img标记。

看看怎么做wp_make_content_images_responsive() 作品它类似于用响应图像格式取代旧的img格式。

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗