自定义帖子类型为具有自定义URL的主页

时间:2018-10-10 作者:Oterox

我更改了永久链接,在url的开头添加了一个字符串,如下所示:/london/%postname%/这非常适合所有页面,但不适合我的主页。

我在设置->阅读->静态页面中将主页设置为一个自定义帖子类型,因此url如下:http://example.org/destination/london

但现在是:http://example.org/london/destination/london

我如何更改它,使主页仅为单一自定义帖子类型,而不包含“/目的地/伦敦”部分?

编辑:

添加此代码后,几乎可以正常工作:

function enable_front_page_destination( $query ){
    if(\'\' == $query->query_vars[\'post_type\'] && 0 != $query->query_vars[\'page_id\'])
        $query->query_vars[\'post_type\'] = array( \'page\', \'destination\' );
}
add_action( \'pre_get_posts\', \'enable_front_page_destination\' );
但是现在主url是http://example.org/ 应该是这样的http://example.org/london

非常感谢。

1 个回复
SO网友:Friss

EDIT因为,正如您在评论中提到的,它可以有几个值,也许我们可以检索城市列表并设置相应的重写规则,就像这样?

假设$city\\u list是一个城市数组

foreach ($city_list as $city) {
    add_rewrite_rule(\'/^\'. $city .\'/destination/\'. $city .\'$/\',\'index.php?p=idofyourhomepage\',\'top\');
}
试试重写规则怎么样。

add_rewrite_rule(\'/^london/destination/london$/\',\'index.php?p=idofyourhomepage\',\'top\');

add_rewrite_rule(\'/^london/destination/london$/\',\'index.php?pagename=nameofyourhomepage\',\'top\');
请验证永久链接设置以刷新规则。

结束

相关推荐

Let me choose permalinks

我需要选择一个叫做“mysite”的永久链接。com/1418”,但wordpress不断在永久链接中添加“-2”。通常这意味着我已经有了一个名为“相同”的页面,它位于垃圾箱或其他地方。但这里的情况似乎并非如此。我尝试在设置中重置永久链接,这也没有帮助。我如何使用数字作为页面名称permalink,而不用wordpress在permalink中添加“-2”。