比較熟悉的朋友應(yīng)該知道,如果要修改文章(post)的固定鏈接結(jié)構(gòu)(),可以到后臺(tái)管理界面進(jìn)行修改。例如,如果您希望頁(yè)面地址具有“標(biāo)簽”前綴,格式為:
http://www.nbzhuti.cn/tag/108
您可以在后臺(tái)的“永久鏈接”設(shè)置界面中將永久鏈接結(jié)構(gòu)設(shè)置為“/news/%%”。
< p tag) 也變成了“/tag/%tag%”的樣子。
現(xiàn)在的問題是,如果要自定義標(biāo)簽(tag)的固定鏈接,使其不隨文章頁(yè)面(post)鏈接結(jié)構(gòu)的變化而變化,讓標(biāo)簽頁(yè)面(tag)有更個(gè)性化的鏈接結(jié)構(gòu),怎么做?
或者,我也想自定義分類頁(yè)面的永久鏈接結(jié)構(gòu)()wordpress頁(yè)面 分類目錄,怎么辦?
我們應(yīng)該從 $ 對(duì)象開始。前提是要知道$對(duì)象里面的數(shù)據(jù)結(jié)構(gòu)是什么wordpress網(wǎng)站建設(shè),才能知道怎么修改,所以把$打印出來了,下面是對(duì)象的內(nèi)部結(jié)構(gòu):
WP_Rewrite Object
(
[permalink_structure] => /post/%postname%.html
[use_trailing_slashes] =>
[author_base] => author
[page_structure] => %pagename%.html
[search_base] => search
[comments_base] => comments
[pagination_base] => page
[comments_pagination_base] => comment-page
[feed_base] => feed
[front] => /post/
[root] =>
[index] => index.php
[matches] =>
[rules] =>
[extra_rules] => Array
(
)
[extra_rules_top] => Array
(
)
[non_wp_rules] => Array
(
)
[extra_permastructs] => Array
(
[category] => Array
(
[with_front] =>
[ep_mask] => 512
[paged] => 1
[feed] => 1
[forcomments] =>
[walk_dirs] => 1
[endpoints] => 1
[struct] => cat/%category%
)
[post_tag] => Array
(
[with_front] =>
[ep_mask] => 1024
[paged] => 1
[feed] => 1
[forcomments] =>
[walk_dirs] => 1
[endpoints] => 1
[struct] => tag/%post_tag%
)
[post_format] => Array
(
[with_front] => 1
[ep_mask] => 0
[paged] => 1
[feed] => 1
[forcomments] =>
[walk_dirs] => 1
[endpoints] => 1
[struct] => /post/type/%post_format%
)
)
[endpoints] => Array
(
)
[use_verbose_rules] =>
[use_verbose_page_rules] => 1
[rewritecode] => Array
(
[0] => %year%
[1] => %monthnum%
[2] => %day%
[3] => %hour%
[4] => %minute%
[5] => %second%
[6] => %postname%
[7] => %post_id%
[8] => %author%
[9] => %pagename%
[10] => %search%
[11] => %category%
[12] => %post_tag%
[13] => %post_format%
)
[rewritereplace] => Array
(
[0] => ([0-9]{4})
[1] => ([0-9]{1,2})
[2] => ([0-9]{1,2})
[3] => ([0-9]{1,2})
[4] => ([0-9]{1,2})
[5] => ([0-9]{1,2})
[6] => ([^/]+)
[7] => ([0-9]+)
[8] => ([^/]+)
[9] => ([^/]+?)
[10] => (.+)
[11] => (.+?)
[12] => ([^/]+)
[13] => ([^/]+)
)
[queryreplace] => Array
(
[0] => year=
[1] => monthnum=
[2] => day=
[3] => hour=
[4] => minute=
[5] => second=
[6] => name=
[7] => p=
[8] => author_name=
[9] => pagename=
[10] => s=
[11] => category_name=
[12] => tag=
[13] => post_format=
)
[feeds] => Array
(
[0] => feed
[1] => rdf
[2] => rss
[3] => rss2
[4] => atom
)
)
這個(gè)清楚了,之前我們修改頁(yè)面(page)的結(jié)構(gòu)被修改了[] => %%.htmlwordpress頁(yè)面 分類目錄,而標(biāo)簽頁(yè)(tag)的結(jié)構(gòu)明顯被修改了[][][] => tag/%%,而修改分類頁(yè)面的固定鏈接()自然會(huì)修改[][][]的值 => cat/%%。
以下是具體修改代碼:
function custom_page_rules() {
global $wp_rewrite;
//修改page的固定鏈接結(jié)構(gòu)
$wp_rewrite->page_structure = $wp_rewrite->root . 'post/%pagename%.html';
//修改tag的固定鏈接結(jié)構(gòu)
$wp_rewrite->extra_permastructs['post_tag']['with_front'] = '';
$wp_rewrite->extra_permastructs['post_tag']['struct'] = 'tag/%post_tag%';
}
將上述代碼放入主題核心文件.php中wordpress網(wǎng)站制作,自定義1)頁(yè)面的結(jié)構(gòu)和2)tag頁(yè)面的結(jié)構(gòu)。
修改分類頁(yè)面的永久鏈接也是如此()。
文章來自互聯(lián)網(wǎng),侵權(quán)請(qǐng)聯(lián)系刪除,文章闡述觀點(diǎn)來自文章出處,并不代表本站觀點(diǎn)。
www.bjcthy.com