我在我的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 tempalte将其从站点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 Feed中看到了图片网址(感谢那个函数脚本)并且它在标签中。
看起来像这样:https://www.mywebsite./url-of-the-image/
他们在网址末尾没有.jpg或.png扩展名。不确定是否需要它。当我打开该链接时,我可以看到图像,并且它可以正常工作。
有人可以帮我解决这个问题吗?我正在研究这件事2天,无法弄明白。我的PHP不是很好,所以很可能是我无法理解的原因。
提前致谢 :)
我想你希望你的函数得到附件src
而不是link
,并将src
回显到<url>
RSS元素中的<image>
标签(参见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;
}