首页 > CMS > 织梦DEDE > 正文

织梦dedecms模板中调用wordpress文章

2024-07-12 08:30:34
字体:
来源:转载
供稿:网友
织梦dedecms 首页调用wordpress文章列表这个问题在网上找的文章大体做法是这样,用dede:sql标签调用wp博客的数据,也有提议有LOOP标签的。总之,所有的方法都有一个前提,这个前提是wordpress和dede cms安装在同一个数据库中。如果你反复调试没有成功的话看看是否遵循这个前提的. 下面提供几个调用WP数据的源码: 1.##随机调用### {dede:sql sql=”SELECT * FROM wp_posts order by rand() limit 0,10″}<br> <a href=’[field:guid/]‘>[field:post_title /]</a> {/dede:sql} 2.##最新文章调用,草稿一起调出来### {dede:sql sql=”SELECT * FROM wp_posts order by post_date desc limit 0,10″}<br> <a href=’[field:guid/]‘>[field:post_title /]</a> {/dede:sql} 3.###发布了的页面一起调出来### 加上一个 post_status = publish吧 {dede:sql sql=”SELECT * FROM wp_posts where post_status = ‘publish’ order by post_date desc limit 0,10″}<br> <a href=’[field:guid/]‘>[field:post_title /]</a> {/dede:sql} 好,让我们就继续我们的测试吧,打开dedecms后台有一个全局标记测试,在里面输入如下代码: {dede:sql sql=’Select * from wp_posts order by post_date desc limit 0,20′} <li><a href=’/blog/index.php/[field:id/].html’ target=’_blank’>[field:post_title/]</a></li> {/dede:sql} 注意如果你的wordpress没有做伪静态的话<a href=’/你的wordpress所在目录/?p=[field:id/]‘这个地方我相信对dedecms熟悉点的朋友都能灵活运用的。点击提交测试,结果出来了,不知道什么原因这个[field:id/]就是得不到数据,也没有心思去仔细研究dedecms的源代码,于是想到它还有一个loop标签可以试一下,于是输入以下代码: {dede:loop table=’wp_posts’ sort=’post_date’ row=’20′ if=”}<br> <a href=”/blog/index.php/[field:id/].html”> [field:post_title/]</a> <br/> {/dede:loop} 同样的结果还是[field:id/]得不到数据,研究了好久还是没有解决,在网上找的文章大体做法是这样,打开wordpress的数据库发现还有一个字段guid记录着url,这下好办了,呵呵 输入以下代码: {dede:sql sql=’Select * from wp_posts order by post_date desc limit 0,20′} <li><a href=’[field:guid/]‘ target=’_blank’>[field:post_title/]</a></li> {/dede:sql} 或者以下代码: {dede:loop table=’wp_posts’ sort=’post_date’ row=’20′ if=”}<br> <a href=”[field:guid/]“> [field:post_title/]</a> <br/> {/dede:loop} OK,问题解决了,剩下的任务就是到模板里的index.html里增加相应的代码就行了。 这样一来,用guid字段就可以调出来blog文章的地址,但这样出来的是动态的, 可是,这种做法也不太好,对于采用静态化不理想,怎么办,换个做做法,于是又回到第一种方法,想办法吧ID的值调用出来,搞了N次之后,终于有可以完美的解决,小成~_~,采用如下方法: {dede:sql sql=”Select id as post_id,post_title as post_title,post_type,post_date from wp_posts where post_type = ‘post’ order by post_date desc limit 1,10″} <a href=’http://www.ni9ht.com/blog/[field:post_id /].html’>[field:post_title /]</a> {/dede:sql} 只是在筛选的时候,用到了 ID AS POST_id 将ID别名为POST_id,这样就可以了 。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表