Встраивание последних видео YouTube в WordPress - PullRequest
1 голос
/ 29 июня 2010

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

Я беру имя пользователя YouTube, беру последнее видео и встраиваюсь в страницу.Кажется, довольно просто, но я могу атаковать его неправильно.

Вот мой код (есть предложения?):

                        <?php // Get YOUTUBE FEED
                    include_once(ABSPATH . WPINC . '/feed.php');

                    // Get a SimplePie feed object from the specified feed source. - YOUTUBE FEED ADDRESS
                    $youtube = fetch_feed('http://gdata.youtube.com/feeds/api/users/USERNAME/uploads');
                    if (!is_wp_error( $youtube ) ) { // Checks that the object is created correctly
                        // Figure out how many total items there are, but limit it to 1.
                        $maxitemsy = $youtube->get_item_quantity(1);

                        // Build an array of all the items, starting with element 0 (first element).
                        $rss_itemsy = $youtube->get_items(0, $maxitemsy);
                    }
                    ?>
                    <h3>YouTube</h3>
                    <ul>
                        <?php if ($maxitemsy == 0) echo '<li>No Video? Check out our <a href="http://www.youtube.com/USERNAME" >YouTube Channel</a></li>';
                        else
                            // Loop through each feed item and display each item as a hyperlink.
                            foreach ( $rss_itemsy as $item ) {
                            $link = $item->get_item_tags('http://search.yahoo.com/mrss/', 'player');
                            $useThis = $link[0]['attribs']['']['url'];
                            ?>
                            <li>
                                <object style="height: 172.5px; width: 230px">
                                    <param name="movie" value="http://www.youtube.com/v/<?php echo getYTid($useThis);?>">
                                    <param name="allowFullScreen" value="true">
                                    <param name="allowScriptAccess" value="always">
                                    <embed src="http://www.youtube.com/v/<?php echo getYTid($useThis);?>" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="230" height="172.5">
                                </object>
                            </li>
                            <li>
                                <?php echo $item->get_content();?>
                            </li>
                        <?php } ?>
                    </ul>

В любом случае, я продолжаю получать сообщение «Нет видео, проверьтенаш вывод ... "вместо встраивания YouTube (который показывался раньше).

Help!

Ответы [ 3 ]

0 голосов
/ 31 января 2013

Я знаю, что это произошло около года, но я нашел решение с использованием кода в вопросе, поэтому я хотел бы поделиться им.

Я думаю, что проблема в том, как вы извлекаете данныечтение rss.

Вы должны заменить строку, когда используете get_item_data для

$link = $item->get_item_tags('http://search.yahoo.com/mrss/', 'group');
$media_content = $link[0]['child']['http://search.yahoo.com/mrss/']['content'];
$youtubeFullUrl = $media_content[0]['attribs']['']['url'];

, а с $ youtubeFullUrl вы можете встраивать объект.Это будет иметь "http://youtube.com/v/...." материал.

0 голосов
/ 18 октября 2015
$videoId = $item->get_item_tags('http://www.youtube.com/xml/schemas/2015', 'videoId');

echo '<iframe width="425" height="239" src="https://www.youtube.com/embed/' .
     $videoId[0]["data"] . '" frameborder="0" allowfullscreen></iframe>';
0 голосов
/ 30 июня 2010

Вы пробовали var_dump из $ youtube и $ maxitemsy? Я предполагаю, что что-то пошло не так с вызовом fetch_feed, и из-за того, что ваш $ maxitemsy равен 0 или не определен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...