2015-03-31 87 views
0

我準備放棄Wordpress。郵政類型,分類和路由

我有這個問題。我通過wp-types插件創建了一個自定義後期類型。我可以顯示它並顯示帖子。

但是,我創建了一個自定義頁面,其中包含呈現帖子的自定義模板。我這樣做是因爲該網站使用多種語言,我需要使用該特定語言的網址。

因此,通過標準archive- {post-type-name} .php文件不顯示帖子類型,而是顯示自定義模板和自定義wordpress頁面。 只是因爲我需要的URL中使用相同的語言作爲指定頁面語言,例如:

myurl.com/{name_in_one_language} 
and 
myurl.com/{name_in_another_language} 

有這個問題是我的自定義後的類型有連接到它自定義分類。在呈現帖子之前,我選擇分類標準,然後根據分類標準名稱呈現頁面的其餘部分。例如:

myurl.com/paintings/?category=category_name 
|| or || 
myurl.com/paintings/?author=painting_author 

問題是客戶端不喜歡那種自定義url參數。他請求我將其更改爲以下格式:

myurl.com/paintings/{taxonomy}/{painting} 

如果分類法是作者姓名或藝術類型。而繪畫頁面本身只是一箇中間件,用於選擇需要顯示哪些文章需要的分類。

我已經跑出瞭如何做到這一點的想法。完全。

我試着用archive- {post-type-name} .php解決方案,不知道wp-types插件如何重寫。嘗試使用插件中的wordpress永久鏈接語法,無法識別它。

基本上我需要的是以下幾點:對於具有與自定義分類呈現的自定義後類型以下列方式路徑的自定義模板,我的自定義頁面:

myurl.com/{page-with-template-that-renders-custom-post-type}/{post-type-taxonomy}/{post} 

我真的覺得WordPress的難與你一起工作,你必須注入代碼,處理路由,註冊類型。感覺就像你只是將它拼湊在一起,製造出一個可怕的怪物,讓每個人都感受到代碼膽汁。

回答

0

首先,將您的固定鏈接設置設置爲'發佈名稱'。閱讀Wordpress的模板層次結構,瞭解工作原理:https://codex.wordpress.org/Template_Hierarchy

如果您創建了taxonomy- {taxonomy-slug} .php模板,則可以導航到myurl.com/paintings/{taxonomy}/{taxonomy- term}並在模板中使用以下內容

$taxonomy = get_query_var('taxonomy'); 
$term = get_query_var('term'); 

..並在查詢中使用這些變量。

單個{{post-type-slug} .php將用於渲染帖子本身。

我認爲將這些分類法包含在帖子的URL中是不可取的,因爲這些可能會改變,或者您可能有多個與帖子相關的字詞。但是,如果有必要,看看這篇文章:http://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks

相關問題