Showing Post ID on RSS

时间:2017-03-26 作者:Dannie Herdyawan

如何在RSS上显示帖子ID?

这是我的代码:

$rss = new DOMDocument();
$rss->load(\'https://www.ciusan.com/feed\');
    $feed = array();
    foreach ($rss->getElementsByTagName(\'item\') as $node) {
        $item = array ( 
            \'title\' => $node->getElementsByTagName(\'title\')->item(0)->nodeValue,
//          \'desc\' => $node->getElementsByTagName(\'description\')->item(0)->nodeValue,
            \'link\' => $node->getElementsByTagName(\'link\')->item(0)->nodeValue,
            \'date\' => $node->getElementsByTagName(\'pubDate\')->item(0)->nodeValue,
        );
        array_push($feed, $item);
    }
    $limit = 5;
    echo \'<div>\';
    echo \'<ul class="soo-latest">\';
    for($x=0;$x<$limit;$x++) {
        $title = str_replace(\' & \', \' &amp; \', $feed[$x][\'title\']);
        $link = $feed[$x][\'link\'];
//      $description = $feed[$x][\'desc\'];
        $date = date(\'l F d, Y\', strtotime($feed[$x][\'date\']));
        echo \'<li>&raquo; <a target="_blank" class="soo-info" href="\'.$link.\'">\'.$title.\'</a>\';
        echo \'<small class="help">Posted on \'.$date.\'</small></li>\';
//      echo \'<p>\'.$description.\'</p>\';
    }
    echo \'</ul>\';
    echo \'</div>\';
这是我的永久链接:

/%category%/%post_id%/%postname%/
我想使用wp_get_shortlink(get_the_ID()); 适用于:

echo \'<li>&raquo; <a target="_blank" class="soo-info" href="\'.$link.\'">\'.$title.\'</a>\';
所以显示缩短不长的链接。。。

1 个回复
SO网友:bueltge

您可以通过挂钩将ID作为自定义标记添加到提要中。但在rss/atom标准中,它没有提供有效的标记来存储此内容。所以我认为你应该把guid 标记以获取帖子的ID,如下面的示例所示。

提要中的guid:

<guid isPermaLink="false">https://www.ciusan.com/?p=3566</guid>

拆分ID。

$id = explode( \'=\', $guid );

风险值$guid 您是否应该在foreach循环中进行增强,以便它存储每个项的每个guid。这个$id 获取包含所有字符串的数组按字符串拆分=, 还有你的帖子id。

相关推荐

在RSS提要中显示排名前10的帖子

我正在尝试获得一个rss提要,它将显示本周前10位的帖子。我正在使用top 10 popular posts插件将它们显示在网站的侧栏中,这很好,但需要在rss中显示它们,这样我就可以让它们发送出去的电子邮件。下面是10大API的一些代码。任何帮助都会很好。<?php /* * This example fetches the popular posts tracked by Top 10. * */ if ( function_exists(