我有一个WordPress网站,其标准页面名为Places with URL
example.com/places/
我有几个由城市调用的子页面
example.com/places/city-1
example.com/places/city-2
现在,我有一个自定义帖子类型Place
,应该指明一个地方,并且应该像
example.com/places/place-1
但是如果我转到上一个与city-1,city-2的链接之一,我明显得到404,因为没有place
这个固定链接。
WordPress有没有办法放到以前的固定链接。因此,如果没有place
具有该名称,请查找page
。
答案 0 :(得分:0)
您可以使用PHP server variable REFERER
中的$_SERVER
- 值,但不是很可靠且可以更改。
我在我维护的其中一个页面中使用the plugin "Permalink Finder",这对于查找更改的URL非常有用。你可以尝试一下,看看它是否适合你。
答案 1 :(得分:0)
如果有人遇到类似的问题,可以使用详细的页面规则来完成。这是我在WordPress Stack Exchange中找到的一个例子 https://wordpress.stackexchange.com/questions/22438/how-to-make-pages-slug-have-priority-over-any-other-taxonomies-like-custom-post
add_action( 'init', 'wpse16902_init' );
function wpse16902_init() {
$GLOBALS['wp_rewrite']->use_verbose_page_rules = true;
}
add_filter( 'page_rewrite_rules', 'wpse16902_collect_page_rewrite_rules' );
function wpse16902_collect_page_rewrite_rules( $page_rewrite_rules )
{
$GLOBALS['wpse16902_page_rewrite_rules'] = $page_rewrite_rules;
return array();
}
add_filter( 'rewrite_rules_array', 'wspe16902_prepend_page_rewrite_rules' );
function wspe16902_prepend_page_rewrite_rules( $rewrite_rules )
{
return $GLOBALS['wpse16902_page_rewrite_rules'] + $rewrite_rules;
}