2011-06-14 59 views
1

我有一個網站,它是一個定製的PHP網站,託管在http://mysite.com。然後,我有子域中運行在http://blog.mysite.com,其中一些後可以在URL http://blog.mysite.com/this-is-my-test-post-entry如何獲得正確的鏈接(永久鏈接)到一個確切的WordPress的帖子?

在mysite.com的登陸頁的WordPress比如我連接到WordPress的數據庫,並從wp_posts表中提取出最後5項,並告訴他們在我的主頁上。問題是我不知道如何獲得正確的鏈接到這些職位? WordPress的生成永久鏈接(),但我不知道如何得到它們?

我以爲Wordpress需要發佈標題字符串,並用「 - 」替換空格,並將該字符串用於發佈URL。但不適用於所有帖子...

有什麼建議嗎?

+0

請求數據庫中的所有後行字段(*)和var_dump它們。它應該在IIRC。這是一個完整的網址。 – hakre 2011-06-14 19:59:23

+0

嗨,好客。試過,但鏈接是不是在任何領域...尋找廣告wp_posts表我認爲post_name提交是我正在尋找,但對於一些帖子是正確的,但一些沒有。有些帖子在這個字段中有「17-revision-3」的值?! – 2011-06-14 20:38:33

+0

這就是slu。。它將成爲URL的一部分。然而,下面的ID答案始終在工作,更安全。 WP會將URL重定向到正確的URL。 – hakre 2011-06-14 21:13:04

回答

1

這可能不是正是你所尋找的,但它會工作...

當你取你的最後5個員額,獲得ID(確保你過濾你的post_type場,以避免抓取修訂版,附件等)。

您可以簡單地構建您的URL,如http://blog.mysite.com/?p=ID(其中ID是數據庫中的ID)。 WordPress會自動將用戶重定向到使用您在設置中定義的自定義永久鏈接的適當頁面。

讓我知道你是否需要一隻手。

+0

謝謝。這工作,但恐怕它不像SEO使用完整的鏈接友好...仍然會很樂意找到解決方案的完整鏈接,而不是在查詢字符串中使用PostID。 – 2011-06-14 20:48:41

+0

我推測,由於WordPress正在做一個永久的301重定向,從?p = id版本到指定的永久鏈接版本,搜索引擎將使用您的永久鏈接爲鏈接編制索引。我不是一個龐大的搜索引擎優化專家,所以我正在使用一種有教養的猜測。 如果你覺得冒險,你可以看看/wp-includes/rewrite.php。我沒有深入研究,但這是他們有邏輯將您的帖子名稱和永久鏈接選項轉換爲網址的地方。有一個名爲「generate_rewrite_rules」的函數,評論說:「......黑魔法和正則表達式的組合」讓我微笑。 – 2011-06-14 21:08:48

+0

您也可以從您的博客獲取RSS源並使用其中的數據。緩存它的性能。 – hakre 2011-06-14 21:14:25

相關問題