我正在使用WordPress RSS Feed在MailChimp中设置一个RSS to email事件,我想在我的MailChimp模板中包含精选图片。
我尝试使用它来添加图像,该图像可以正常工作,但它只是将其添加到内容中,而不适用于RSS代码的MailChimp部分:
function featuredtoRSS($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$content = '' . get_the_post_thumbnail( $post->ID, 'thumbnail', array( 'style' => 'float:left; margin:0 15px 15px 0;' ) ) . '' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'featuredtoRSS');
add_filter('the_content_feed', 'featuredtoRSS');
显然,MailChimp希望它是“自己的”唯一图像元素。这是他们想要的示例:
但看起来却是另一种RSS格式。这是我的RSS输出的内容:
最佳答案
我经常不得不为MailChimp创建自定义供稿,并且发现很多时候我不得不进行一些“棘手的”更改,例如将自定义值放入MailChimp支持的有限标准字段中。
因此,我喜欢使用Yoast(http://yoast.com/custom-rss-feeds-wordpress/)中描述的方法来创建一个输出自定义RSS提要的页面。
为了使MailChimp可以识别的字段包含为特色图像,需要进行一些调整。
首先,您需要添加Media RSS命名空间,通常我会通过添加到开头<rss>
标记中来做到这一点:
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
然后,为了将特色图片包括在商品中:
<?php if(get_the_post_thumbnail()): ?>
<media:content url="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>" medium="image" />
<?php endif; ?>
如果您需要指定要包含的特定图像尺寸,则需要在项目内使用以下代码:
<?php if(get_the_post_thumbnail()): ?>
<media:content url="<?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'imageSize'); echo $image[0]; ?>" medium="image" />
<?php endif; ?>
然后,您可以使用
*|RSSITEM:IMAGE|*
或*|FEEDITEM:IMAGE|*
合并标签在MailChimp中进行抓取。
关于image - 将WordPress特色图片添加到RSS feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123531/