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