从wordpress内容中删除图像并将其放置在模板中的其他位置

时间:2012-08-16 12:18:24

标签: image wordpress wordpress-plugin wordpress-theming

我有一个wordpress网站,它使用插件插入PhotoShelter页面和帖子中的图像。如果我想将图像直接插入到内容中,那么这很好,但是,我目前无法使用它来设置特色图像。

该插件基本上允许您通过标准图像上传屏幕浏览PhotoShelter上的所有照片,然后当您单击“插入帖子”时,它会链接到PhotoShelter上的图像。它不会以任何方式将其附加到帖子,并且图像不会出现在媒体库中。

有没有办法在the_content()中查找图像,将其剥离(我不希望图像显示在内容区域中)并将其与帖子ID一起保存到数组中?这样我就可以将它用于存档模板中的博客缩略图以及我的页面模板中循环内的其他位置。或者也许有办法改变特色图像功能,让我从PhotoShelter中选择图像?

这是我正在使用的插件:http://wordpress.org/extend/plugins/photoshelter-official-plugin/

打开任何关于如何实现这一目标的建议。

提前致谢:)

1 个答案:

答案 0 :(得分:1)

如果在循环中使用以下代码,则会将内容中使用的所有图像捕获到数组中,并将其从内容中删除。

/* get the post_content */
$content = get_the_content();

/* makes an array of images and stores them in $matches */
preg_match("/<img[^>]+\>/i", $content, $matches, PREG_OFFSET_CAPTURE, 3);

/* removes all images from the content */
$content = preg_replace("/<img[^>]+\>/i", "", $content);

/* display the content as normal */
echo wpautop($content);

这个问题是数组将填充img标签的条目,实际上你只需要图像的src。获取src很棘手,请参阅此question

即使你确实设法使所有这些工作得很好,它仍然是你的问题的一个时髦的解决方案。除特色图片外,您的用户无法将其他图片上传到其内容中。

更好的解决方案是制作一个自定义元框,它看起来像'特色图像'元框,但点击时加载PhotoShelter模式,然后允许您将拾取的图像保存为后元。

它会将哪些图片输出到您的内容中?他们是正常的图像链接还是他们已经填充了变量?