我在尝试完成项目时遇到了一个问题。
我的问题是我想改变页面的永久链接,就像我对帖子所做的那样,所以我的页面会有一个像/{prefix}/%pagename%/.
我尝试过但没有工作:
尝试将自定义重写规则添加为函数但不起作用:
$ rewrite_rules + = array('mycustomprefix /(。+?)/([0-9] +)/([^ /] +)/([^ /] +)/?$'=>'的index.php?页面名= $匹配[1]”,
这可能吗?是否有任何开发人员遇到同样的问题?
答案 0 :(得分:2)
对于任何有兴趣的人,我已按以下方式解决了我的问题:
function change_author_permalinks() {
global $wp_rewrite;
// Change the value of the author permalink base to whatever you want here
$wp_rewrite->author_base = '';
// Change the value of the page permalink base to whatever you want here
$wp_rewrite->page_structure = 'static/%pagename%';
$wp_rewrite->flush_rules();
}
add_action('init','change_author_permalinks');
希望这有助于其他人,因为我无法在任何地方找到任何帮助。有关可以通过这种方式更改内容的更多信息,请查看http://codex.wordpress.org/Class_Reference/WP_Rewrite
答案 1 :(得分:0)
在将此重写添加到functions.php之后,您是否更新了永久链接结构?它对我有用:)
add_filter( 'page_rewrite_rules', 'customprefix_page_rewrite_rules' );
function customprefix_page_rewrite_rules( $rewrite_rules )
{
end( $rewrite_rules );
$last_pattern = key( $rewrite_rules );
$last_replacement = array_pop( $rewrite_rules );
$rewrite_rules += array(
'mycustomprefix/(.+?)/?$' => 'index.php?pagename=$matches[1]',
$last_pattern => $last_replacement,
);
return $rewrite_rules;
}
答案 2 :(得分:0)
我发现这个解决方案对我来说更好......而且它的代码也更清晰。
add_action( 'init', 'custom_page_rules' );
function custom_page_rules() {
global $wp_rewrite;
$wp_rewrite->page_structure = $wp_rewrite->root . 'your-page-prefix/%pagename%';
}
我在这里找到了代码:http://wpforce.com/change-wordpress-page-permalinks/