实现思路:
因为百度 sitemap 可以提交 xml 文件,所以我们可以利用 discus 内置的 rss 来实现。

实现方法:
1 、打开根目录的 portal.php 文件
找到
if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list',
'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block')))
$_GET['mod'] = 'index';

修改为
if(empty($_GET['mod']) ||
!in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp',
'topic', 'attachment', 'rss', 'block', 'sitemap'))) $_GET['mod'] =
'index';

2 、找到 source/module/portal/portal_rss.php 文件并复制一份,命名为 portal_sitemap.php
打开 portal_sitemap.php 文件
找到
echo      "<?xml version="1.0" encoding="".$charset.""?>
".
"<rss version="2.0">
".
"  <channel>
".
(count($catarray) > 1 ?
"    <title>{$_G[setting][bbname]}</title>
".
"    <link>{$_G[siteurl]}forum.php</link>
".
"    <description>Latest $num articles of all categories</description>
"
:
"    <title>{$_G[setting][bbname]} - $catname</title>
".
"    <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>
".
"    <description>Latest $num articles of $catname</description>
"
).
"    <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>
".
"    <generator>Discuz! Board by Comsenz Inc.</generator>
".
"    <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>
".
"    <ttl>$ttl</ttl>
".
"    <image>
".
"      <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>
".
"      <title>{$_G[setting][bbname]}</title>
".
"      <link>{$_G[siteurl]}</link>
".
"    </image>
";

修改为
echo      "<?xml version="1.0" encoding="".$charset.""?>
".
"  <urlset>
";

找到
echo      "    <item>
".
"      <title>".$article['subject']."</title>
".
"      <link>$_G[siteurl]".($rewriteflag ?
rewriteoutput('portal_article', 1, '', $article[aid]) :
"portal.php?mod=view&aid=$article[aid]")."</link>
".
"
<description><![CDATA[".dhtmlspecialchars($article['description'])."]]></description>
".
"      <category>".dhtmlspecialchars($article['catname'])."</category>
".
"      <author>".dhtmlspecialchars($article['author'])."</author>
".
($attachfile ? '<enclosure
url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg"
/>'."
" : '').
"      <pubDate>".gmdate('r', $article['dateline'])."</pubDate>
".
"    </item>
";

修改为
echo      "    <url>
".
"      <loc>$_G[siteurl]".($rewriteflag ?
rewriteoutput('portal_article', 1, '', $article[aid]) :
"portal.php?mod=view&aid=$article[aid]")."</loc>
".
"      <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>
".
"      <changefreq>daily</changefreq>
".
"      <priority>1.0</priority>
".
"    </url>
";

找到
echo      "  </channel>
".
"</rss>";

修改为
echo      "  </urlset>
";

然后访问地址:https://www.weixiaoduo.com/ portal.php?mod=sitemap 即可看到效果,百度 sitemap 提交这个地址即可。
注意显示条数,可以修改 portal_sitemap.php 这里:$num = 20;  程序默认是显示 20 条,可根据自己的需要更改。