这两天在忙wordpress和phpwind的整合,解决了账号互通的问题,ucenter我鄙视,他的缺点太多了,并不适合大多数人的需求。
今天刚好涉及到wordpress调用论坛帖子的问题,已经成功实现,趁热打铁和广大开源爱好者分享我的成果。
动手前,需要确认两项:
1、wordpress和phpwind是否公用一个数据库;
2、使用的字符集编码是否一致。
这里我的情况是,wordpress和phpwind各用一个数据库,用的都是UTF-8字符集。如果看这篇文章的你和我情况不一样,请酌情修改。
$connbbs = mysql_connect("localhost", "数据库用户", "数据库密码") or die("数据库链接错误"); mysql_select_db("数据库名", $connbbs); mysql_query("set names 'UTF8'"); $sql = 'SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10'; $result = mysql_query($sql); while($row = mysql_fetch_array($result)){ echo "<li><a href=http://论坛地址/read.php?tid=".$row[tid]." target=_blank>".$row[subject]." </a></li>";} mysql_close($connbbs);
我这里是调取的论坛版块ID=1和2的最新贴10篇,phpwind数据库表使用的默认前缀pw_,使用时候根据自己需要修改相关参数。
如果wordpress和phpwind在同一数据库内,那就更方便了,可直接使用wordpress自带的wpdb操作数据库。
$bbsposts = $wpdb->get_results('SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10'); foreach($bbsposts as $bbspost) { echo('<li><a href=http://论坛地址/read.php?tid=' . $bbspost->tid . ' target=_blank>' . $bbspost->subject . '</a></li>');
以上就是phpwind指定版块的最新贴调用方法,接下来说一下discuz的调用,非常简单,改一下那句SQL。
'SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10'
修改成
'SELECT `tid`, `subject` FROM `cdb_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10'
同时把“http://论坛地址/read.php?tid”修改为“http://论坛地址/viewthread.php?tid”。至此大功告成!
字符集编码不一致,可以用使用iconv函数转码。
- 本文固定链接: https://www.fengshen.cn/2016/08/wordpress调用phpwind或discuz论坛指定版块帖子/etcofwind/
- 转载请注明: fengshen 发表于 Dream of Wind | 一梦风神
觉得文章有用,微信打赏一元。
