Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在您的网站上显示WordPress RSS提要?_Wordpress_Rss - Fatal编程技术网

如何在您的网站上显示WordPress RSS提要?

如何在您的网站上显示WordPress RSS提要?,wordpress,rss,Wordpress,Rss,你好,我有一个网站和一个博客,我想在我的网站上显示我的自托管wordpress博客 我只想在我的网站上显示3个帖子 我想在每次重新加载我的网站时自动检查任何新帖子,以便只显示最近的三篇 我想显示我的wordpress博客文章的完整标题,但要显示具体的描述字母 此外,描述应以一个单词结尾,而不是以“…”结尾的非词典单词 如何做到这一点,我听说可以通过RSS做到。 有人能帮我吗?要做到这一点,你需要阅读博客的RSS,从RSS中你需要阅读标题和描述,在阅读整个描述和标题后,你需要将描述修剪到你想要的字

你好,我有一个网站和一个博客,我想在我的网站上显示我的自托管wordpress博客

  • 我只想在我的网站上显示3个帖子
  • 我想在每次重新加载我的网站时自动检查任何新帖子,以便只显示最近的三篇
  • 我想显示我的wordpress博客文章的完整标题,但要显示具体的描述字母
  • 此外,描述应以一个单词结尾,而不是以“…”结尾的非词典单词
  • 如何做到这一点,我听说可以通过RSS做到。
    有人能帮我吗?

    要做到这一点,你需要阅读博客的RSS,从RSS中你需要阅读标题和描述,在阅读整个描述和标题后,你需要将描述修剪到你想要的字母数。之后,您需要检查描述的最后一个单词是否已完成,如果未完成,则需要删除最后一个单词,并放置“…”

    首先,我们将制作一个脚本来修剪描述,并在最后添加“…”:-

    <?php
    global $text, $maxchar, $end;
    function substrwords($text, $maxchar, $end='...') {
        if (strlen($text) > $maxchar || $text == '') {
            $words = preg_split('/\s/', $text);      
            $output = '';
            $i      = 0;
            while (1) {
                $length = strlen($output)+strlen($words[$i]);
                if ($length > $maxchar) {
                    break;
                } 
                else {
                    $output .= " " . $words[$i];
                    ++$i;
                }
            }
            $output .= $end;
        } 
        else {
            $output = $text;
        }
        return $output;
    }
    
    现在,我们将创建一个数组并在其中存储值。我只选了3个,因为你已经问路了。您可以将其更改为任何内容(要显示的帖子数量,将其放入循环中)

    for($i=0;$iitem($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
    $item_link[$i]=$x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
    $item_description[$i]=$x->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
    }
    ?>
    
    现在,重复所有这些值,链接是用户将单击的值,他将被带到您的博客:-

    最近发表的第一篇文章:

    <a href="<?php echo $item_link[0]; ?>"><?php echo $item_title[0]; ?></a>
    <?php echo substrwords($item_description[0],70); ?>
    
    <a href="<?php echo $item_link[1]; ?>"><?php echo $item_title[1]; ?></a>
    <?php echo substrwords($item_description[1],70); ?>
    
    <a href="<?php echo $item_link[2]; ?>"><?php echo $item_title[2]; ?></a>
    <?php echo substrwords($item_description[2],70); ?>
    
    
    
    最近的第二个职位:

    <a href="<?php echo $item_link[0]; ?>"><?php echo $item_title[0]; ?></a>
    <?php echo substrwords($item_description[0],70); ?>
    
    <a href="<?php echo $item_link[1]; ?>"><?php echo $item_title[1]; ?></a>
    <?php echo substrwords($item_description[1],70); ?>
    
    <a href="<?php echo $item_link[2]; ?>"><?php echo $item_title[2]; ?></a>
    <?php echo substrwords($item_description[2],70); ?>
    
    
    
    最近的第三个职位:

    <a href="<?php echo $item_link[0]; ?>"><?php echo $item_title[0]; ?></a>
    <?php echo substrwords($item_description[0],70); ?>
    
    <a href="<?php echo $item_link[1]; ?>"><?php echo $item_title[1]; ?></a>
    <?php echo substrwords($item_description[1],70); ?>
    
    <a href="<?php echo $item_link[2]; ?>"><?php echo $item_title[2]; ?></a>
    <?php echo substrwords($item_description[2],70); ?>
    
    
    

    希望这能解决你的问题。顺便提一下,这个问题很好。

    为什么不使用Wordpress REST API来检索帖子呢-

    API URL为:$site/posts/

    其中$site是wordpress博客的站点id

    或者干脆用这个插件-

    有关使用PHP显示RSS源的原始文档

    Django Anonymous的
    substrwords
    函数用于修剪描述,并在描述末尾插入
    ,前提是它传递了
    $maxchar


    完整代码:

    blog.php



    另外,这段代码是即插即用的。

    我使用了这段代码,但我得到了以下错误:“PHP致命错误:在非对象上调用成员函数getElementsByTagName()”。问题行是for循环的第一行:$item_title[$I]=$x->item($I)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;