我在我的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不好,所以很可能是我无法弄清楚的原因。
预先感谢:)
答案 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;
}