织梦dedecms模板中调用wordpress文章

织梦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=http://www.dede58.com/’[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=http://www.dede58.com/’[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=http://www.dede58.com/’[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=http://www.dede58.com/’/blog/index.php/[field:id/].html’ target=’_blank’>[field:post_title/]</a></li>

{/dede:sql}

注意如果你的wordpress没有做伪静态的话<a href=http://www.dede58.com/’/你的wordpress所在目录/?p=[field:id/]‘这个地方我相信对dedecms熟悉点的朋友都能灵活运用的。点击提交测试,结果出来了,不知道什么原因这个[field:id/]就是得不到数据,也没有心思去仔细研究dedecms的源代码,于是想到它还有一个loop标签可以试一下,于是输入以下代码:

{dede:loop table=’wp_posts’ sort=’post_date’ row=’20′ if=”}<br>

<a href=http://www.dede58.com/”/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=http://www.dede58.com/’[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=http://www.dede58.com/”[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.dede58.com/’http:/www.ni9ht.com/blog/[field:post_id /].html’>[field:post_title /]</a>

{/dede:sql}

只是在筛选的时候,用到了 ID AS POST_id 将ID别名为POST_id,这样就可以了 。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/74b850278d11e032c330d8d1217fc447.html