2017-10-12 76 views
0

我有1個自定義表(未WP核心表),其中有進口的特定產品。我已經建立了自定義的WP頁面,這些產品列出,自定義過濾器創建等。在這一步到目前爲止一切正常 - 產品列出和過濾工程,分頁工程...WordPress的創建與定製表中的數據的永久鏈接的自定義頁面

但我想要延長進一步如今 - 打開每個產品頁面(如/產品上市頁/產品名稱-1)在產品列表頁產品名稱......點擊時,如何能實現這個「出wp_posts的」表?

爲什麼我不使用wp_posts表:網站有靜態頁面和動態的帖子新聞和產品表被截斷,並在一天每天晚上重新導入一次!所以,真的不能用wp_posts頁面時,產品列表是在每次導入之前的動態,完全截斷......

任何想法?也許有人已經做過這樣的東西?;-)

回答

0

該解決方案相當快速和簡單!對於我的需求,這已經足夠了剛剛註冊全局查詢VAR:

function register_new_query_var($vars) { 
     $vars[] = 'product_id'; 
     return $vars; 

    add_filter('query_vars', 'register_new_query_var'); 

,然後我改變主題模板頁面產品上市頁,爲產品的上市和個別產品做工用 如果(get_query_var(」 PRODUCT_ID'))。所以,如果查詢爲空 - 做列表的東西,如果不是空的 - 做個別產品的東西!

對我來說這已經足夠了,我甚至不需要seo友好的網址(因爲產品列表每天都在變化,所以 - 每天都會有新產品,鏈接,並且會有很多404錯誤)...

和我可以使用http://example.com/product-listing-page?product_id=1和頁面顯示與日期是從自定義表! ;-)

0

我不知道,如果你開發一個插件來處理所有的自定義表和代碼創建的,但如果你沒有,我強烈建議您這樣做。

因爲通過將您的代碼作爲插件使用,您有機會使用wordpress的所有組件,例如重寫規則系統,我認爲這可以幫助您實現目標。

我之前爲一個網站創建了一個插件,我有收費,我需要在網站(worpdress)url系統中顯示一個自定義頁面,如果我正確理解您的問題,這是您想要做的。 不幸的是,插件已經演變,因爲我沒有保留該代碼的備份,但是如果我沒有記錯,我是如何做到的當然,這裏是我遵循的粗略方法:

我創建了一個插件,

  • 自定義數據庫表(或多個)
  • 定製的PHP對象
  • ...

AND(這是野趣部分)添加重寫規則WordPress的重寫規則體系如下:

  1. 集重寫標籤(初始化動作)(如果需要)
  2. 添加重寫規則(INIT動作)
  3. 攔截的URL,並解析它來獲得我需要在我的自定義頁面 的PARAMS(parse_request動作)

的以下功能可以幫你:

而且你需要在掛鉤:

希望它能幫助你開始。

相關問題