这两天在忙wordpress和phpwind的整合,解决了账号互通的问题,ucenter我鄙视,他的缺点太多了,并不适合大多数人的需求。
今天刚好涉及到wordpress调用论坛帖子的问题,已经成功实现,趁热打铁和广大开源爱好者分享我的成果。
动手前,需要确认两项:wordpress和phpwind是否公用一个数据库;
使用的字符集编码是否一致。
这里我的情况是,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 "
".$row[subject]." ";}
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('
tid . ' target=_blank>' . $bbspost->subject . '');
以上就是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函数转码。
Wordpress下载
PHPWind下载
软件大小:10.99MB
软件类别:国产软件 | 社区论坛
软件语言:简体中文
运行环境:PHP/Mysql
软件授权:免费版
更新时间:-5-24 13:42:08
Discuz X2下载
软件大小:8.13MB
软件类别:国产软件 | 社区论坛
软件语言:简体中文
运行环境:PHP/Mysql
软件授权:免费版
更新时间:-6-29 9:46:57