Получить Wordpress Избранные изображения из внешнего RSS-канала - PullRequest
0 голосов
/ 27 августа 2018

Я использовал следующий код в своем файле 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;
}

Теперь я пытаюсь вызвать это изображение и отобразить его с сайта A на мой сайт B с пользовательским шаблоном RSS.Это код шаблона.

<?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(); ?>

Теперь я вижу URL-адрес изображения в своем RSS-канале (благодаря этому скрипту функций), и он находится в теге.

Похоже на это: https://www.mywebsite./url-of-the-image/

У них нет расширения .jpg или .png в конце URL.Не уверен, что так и должно быть.Когда я открываю эту ссылку, я вижу изображение, и оно работает.

Может кто-нибудь помочь мне разобраться с этим?Я работаю над этим 2 дня и не могу понять.Мой PHP не очень хорош, так что это, скорее всего, причина, почему я не могу понять это.

Заранее спасибо:)

1 Ответ

0 голосов
/ 29 августа 2018

Я думаю, вы хотите, чтобы ваша функция получала вложение src вместо link и отображала это src в теге <url> внутри элемента <image> RSS (см. здесь ).Попробуйте это:

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;
}
...