POST TIME:2018-09-18 10:53
織夢(mèng)dedecms模板中調(diào)用wordpress文章的方法
dedecms 首頁(yè)調(diào)用wordpress文章列表這個(gè)問(wèn)題在網(wǎng)上找的文章大體做法是這樣,用dede:sql標(biāo)簽調(diào)用wp博客的數(shù)據(jù),也有提議有LOOP標(biāo)簽的。總之,所有的方法都有一個(gè)前提,這個(gè)前提是wordpress和dede cms安裝在同一個(gè)數(shù)據(jù)庫(kù)中。如果你反復(fù)調(diào)試沒(méi)有成功的話(huà)看看是否遵循這個(gè)前提的.
下面提供幾個(gè)調(diào)用WP數(shù)據(jù)的源碼:
1.##隨機(jī)調(diào)用###
{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.##最新文章調(diào)用,草稿一起調(diào)出來(lái)###
{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.###發(fā)布了的頁(yè)面一起調(diào)出來(lái)###
加上一個(gè) 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}
好,讓我們就繼續(xù)我們的測(cè)試吧,打開(kāi)dedecms后臺(tái)有一個(gè)全局標(biāo)記測(cè)試,在里面輸入如下代碼:
{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沒(méi)有做偽靜態(tài)的話(huà)<a href=’/你的wordpress所在目錄/?p=[field:id/]‘這個(gè)地方我相信對(duì)dedecms熟悉點(diǎn)的朋友都能靈活運(yùn)用的。點(diǎn)擊提交測(cè)試,結(jié)果出來(lái)了,不知道什么原因這個(gè)[field:id/]就是得不到數(shù)據(jù),也沒(méi)有心思去仔細(xì)研究dedecms的源代碼,于是想到它還有一個(gè)loop標(biāo)簽可以試一下,于是輸入以下代碼:
{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}
同樣的結(jié)果還是[field:id/]得不到數(shù)據(jù),研究了好久還是沒(méi)有解決,在網(wǎng)上找的文章大體做法是這樣,打開(kāi)wordpress的數(shù)據(jù)庫(kù)發(fā)現(xiàn)還有一個(gè)字段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,問(wèn)題解決了,剩下的任務(wù)就是到模板里的index.html里增加相應(yīng)的代碼就行了。
這樣一來(lái),用guid字段就可以調(diào)出來(lái)blog文章的地址,但這樣出來(lái)的是動(dòng)態(tài)的,
可是,這種做法也不太好,對(duì)于采用靜態(tài)化不理想,怎么辦,換個(gè)做做法,于是又回到第一種方法,想辦法吧ID的值調(diào)用出來(lái),搞了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}
只是在篩選的時(shí)候,用到了 ID AS POST_id 將ID別名為POST_id,這樣就可以了,