从外部RSS提要中获取Wordpress Featured图像

时间:2018-08-27 02:36:03

标签: wordpress rss feed rss-reader rss2

我在我的FUNCTIONS文件中使用了以下代码:

add_action('rss2_item', 'add_my_rss_node');

function add_my_rss_node() {
    global $post;
    if(has_post_thumbnail($post->ID)):
        $thumbnail = get_attachment_link(get_post_thumbnail_id($post->ID));
        echo("<image>{$thumbnail}</image>");
    endif;
}

现在,我尝试调用该图像,并使用自定义RSS模板将其从站点A显示到站点B。这是模板的代码。

<?php get_header(); ?>

<?php include_once(ABSPATH.WPINC.'/feed.php');
$rss = fetch_feed('https://notrealurl.net/categoryname-feed/');
$maxitems = $rss->get_item_quantity(30);
$rss_items = $rss->get_items(0, $maxitems);
?>
<ul>
<?php if ($maxitems == 0) echo '<li>No items.</li>';
else
// Loop through each feed item and display each item as a hyperlink.
foreach ( $rss_items as $item ) : ?>

<li>
<a href="<?php echo $item->get_permalink(); ?>">
<?php echo $item->get_title(); ?> 
<?php echo $item->get_date('j F Y @ g:i a'); ?>


</a>
</li>
<?php endforeach; ?>
</ul>

<?php get_footer(); ?>

我现在在rss供稿中看到了图像URL(由于使用了该功能脚本),并且它在标记中。

看起来像这样:https://www.mywebsite./url-of-the-image/

他们在网址末尾没有.jpg或.png扩展名。不知道这是否是必需的。当我打开该链接时,可以看到该图像,并且可以正常工作。

有人可以帮我解决这个问题吗?我正在处理此事2天,无法解决。我的PHP不好,所以很可能是我无法弄清楚的原因。

预先感谢:)

1 个答案:

答案 0 :(得分:0)

我认为您希望函数获取附件src而不是link,并将src回显到<url>内的<image>标记中RSS元素(请参见here)。 试试这个:

function add_my_rss_node() {
    global $post;
    if(has_post_thumbnail($post->ID)):
        $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID));
        echo("<image><url>{$thumbnail}</url></image>");
    endif;
}