网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > DedeCMS
User Name
Password
 
FAQ Members List Calendar Cheap Glasses Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1   IP: 49.87.40.74
Old 2014-04-18, 08:38 AM
Mabscott Mabscott is offline
初级会员
 
Join Date: 2007-01-25
Posts: 1
Mabscott 现在声名狼藉
Default dede调用wordpress文章列表

在网站首页调用博客文章是很多站长的想法,为了对搜索引擎友好,想到dede网站首页的更新问题时,考虑到何不把wordpress的文章调用到网站首页呢,如何用dede调用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=’[field:guid/]‘>[fieldost_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/]‘>[fieldost_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/]‘>[fieldost_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’>[fieldost_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”> [fieldost_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’>[fieldost_title/]</a></li>

{/dede:sql}

或者以下代码:

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

<a href=”[field:guid/]“> [fieldost_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.copyie.com/blog/[fieldost_id /].html’>[fieldost_title /]</a>

{/dede:sql}

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

OK,问题解决了,
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 05:37 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.