舍得按:5月19日发现原代码在调用标题时出现小问题,重新修订了一下:
话说舍得正在修改新主站,遇到需要调用WordPress的文章,如果只是调用WordPress的图片或标题,那倒是比较简单的,直接用灵动标签甚至万能标签就可以解决。但是,如果要同时调用WordPress的“标题+图片+简介”的时候,问题就来了,因为WordPress的的表结构太XO,附件和文章在同一个表内(wp_posts ),可它用的是不同的ID,这样必须要用到嵌套查询的技巧,比如先查post_type(帖子类型)为附件的,然后查出它的父ID,再用这个父ID查询一次,调出post_content作为简介。这个时候充分显示出了ECMS的优越性,灵动标签不但灵活,还可以用PHP代码的方式实现嵌套查询,具体的代码如下:
<?php $ecms_bq_sql=sys_ReturnEcmsLoopBq('select post_title as title,post_parent as id,guid as titlepic from emagicblog.wp_posts where post_type like "attachment" GROUP BY post_parent order by id desc limit 3,1',6,24,0); $bqno=0; while($bqr=$empire->fetch($ecms_bq_sql)) { $bqsr=sys_ReturnEcmsLoopStext($bqr); $bqno++; ?>
<?php $ecms_bq_sql2=sys_ReturnEcmsLoopBq("select post_title as title,ID as id,guid as titlepic,post_content as smalltext from emagicblog.wp_posts where post_status like 'publish' and id = $bqr[id] order by id desc limit 1",6,24,0); $bqno2=0; while($bqr2=$empire->fetch($ecms_bq_sql2)) { $bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <DL> <DT> <a href="http://blog.emagic.org.cn/content/i<?=$bqr[id]?>.html" target="_blank" title="<?=$bqr2[title]?>"><IMG src="<?=$bqr[titlepic]?>" title="<?=$bqr2[title]?>"></A></DT> <DD><a href="http://blog.emagic.org.cn/content/i<?=$bqr[id]?>.html" target="_blank" title="<?=$bqr2[title]?>"><?=$bqr2[title]?></a></DD> </DL> <P> <?=esub(strip_tags($bqr2[smalltext]),60);?> ... <A href="http://blog.emagic.org.cn/content/i<?=$bqr[id]?>.html" target="_blank" title="<?=$bqr2[id]?>"> 【查看详细】</A> <?php } ?> </P>
<?php } ?>
本帖的思路参考了WC的帖子:http://bbs.phome.net/ShowThread/?threadid=146819&forumid=13 可将本帖视为WC那帖子的“实战版”,还有一位童鞋发的另一个例子也可参考:http://bbs.phome.net/ShowThread/?threadid=175230&forumid=13
|