将WordPress特色图像添加到RSS源

Ada*_*dam 9 wordpress rss image mailchimp

我正在使用我的WordPress RSS Feed在MailChimp中设置RSS到电子邮件活动,我想在我的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');
Run Code Online (Sandbox Code Playgroud)

显然,MailChimp希望它是"自己的"独特的图像元素.这是他们想要的一个例子:http://kb.mailchimp.com/article/how-can-i-format-the-image-content-in-my-rss-to-email-campaigns

但它看起来像是一种不同的RSS格式.这是我的RSS输出:http://pacmissions.org/dev/missions/zimbabwe-2012/feed/

Ash*_*Ash 27

我经常需要为MailChimp创建自定义订阅源,并且发现很多时候我必须做一些"hacky"更改,例如将自定义值放入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">
Run Code Online (Sandbox Code Playgroud)

然后,为了在项目中包含特色图像:

<?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; ?>
Run Code Online (Sandbox Code Playgroud)

如果您需要指定要包含的特定图像大小,则需要在项目内使用此代码:

<?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; ?>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用*|RSSITEM:IMAGE|**|FEEDITEM:IMAGE|*合并标记在MailChimp中获取此信息.