RSS 피드에 WordPress 피처 이미지 추가
WordPress RSS Feed를 사용하여 MailChimp에서 이메일을 보낼 RSS 캠페인을 설정하고 있으며 MailChimp 템플릿에 주요 이미지를 포함시키고 싶습니다.이미지를 추가하기 위해 이 기능을 사용했지만, RSS 코드의 Mail Chimp 섹션에서는 작동하지 않는 콘텐츠에 이미지를 추가합니다.
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');
Mail Chimp는 독자적인 이미지 요소를 원하는 것 같습니다.고객이 원하는 예를 다음에 제시하겠습니다.http://kb.mailchimp.com/article/how-can-i-formating-image-content-in-my-rss-to-emails
RSS 형식이 다른 것 같아요.RSS 출력은 다음과 같습니다.http://pacmissions.org/dev/missions/zimbabwe-2012/feed/
MailChimp용 커스텀피드를 작성해야 하는 경우가 많아 MailChimp가 지원하는 제한된 표준 필드에 커스텀값을 입력하는 등 다소 '해키한' 변경을 해야 하는 경우가 많습니다.
이 때문에, 커스텀 RSS 피드를 출력하는 페이지를 작성하려면 , Yoast(http://yoast.com/custom-rss-feeds-wordpress/ )에 기재되어 있는 방법을 사용합니다.
Mail Chimp가 인식할 수 있는 필드로 피처링 이미지를 포함하기 위해 몇 가지 수정이 필요합니다.
먼저 미디어 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; ?>
그런 다음 MailChimp에서 다음을 사용하여 이 정보를 가져올 수 있습니다.*|RSSITEM:IMAGE|*또는*|FEEDITEM:IMAGE|*마지 태그
피드의 콘텐츠 상단에 이미지를 추가하는 방법의 예는 많지만 새 태그를 만드는 위치는 많지 않습니다.잠재적인 문제 중 하나는 커스텀태그 등의 작성은 유효한 RSS 형식이 아니라는 것입니다.자신의 용도에 맞게 XML 문서를 작성하는 경우 피드의 유효성이 확인되더라도 크게 문제가 되지 않습니다.Mail Chimp의 사용 사례에 맞게 간단하게 수정할 수 있습니다.
인functions.php추가(테마 폴더 추가:wp-content/themes/{your-active-theme-folder}):
function insertImageRSS() {
global $post;
preg_match("/(http:\/\/.*(jpg|jpeg|png|gif|tif|bmp))\"/i", get_the_post_thumbnail( $post->ID, 'thumbnail' ), $matches);
return $matches[1];
}
에서wp-includes/feed-rss2.php(인클로저 태그를 사용했지만 아직 파일 크기 계산을 하지 않았기 때문에 플레이스 홀더를 사용했습니다).
<?php if (get_the_post_thumbnail( $post->ID, 'thumbnail' ) != '') { ?><enclosure <?php echo 'url="' . insertImageRSS() . '"'; ?> length="1000" type="image/jpeg" /><?php } ?>
언급URL : https://stackoverflow.com/questions/9123531/add-wordpress-featured-image-to-rss-feed
'programing' 카테고리의 다른 글
| Java용 JSON 문자열 정리/포맷터 (0) | 2023.03.05 |
|---|---|
| templateUrl 없이 라우팅하는 방법 (0) | 2023.03.05 |
| jquery ajax 콜 반환 JSON 구문 분석 오류 (0) | 2023.03.05 |
| 여러 테이블 행을 반환하는 React 컴포넌트를 래핑하여 "가 의 자녀로 표시되지 않도록 하려면 어떻게 해야 합니까?여러 테이블 행을 반환하는 React 컴포넌트를 래핑하여 "가 의 자녀로 표시되.. (0) | 2023.03.05 |
| Angular-animate - 알 수 없는 공급자: $$asyncCallbackProvider <- $asyncCallback <- $animate <- $compile (0) | 2023.03.05 |