在Wordpress

时间:2016-05-04 08:13:26

标签: php wordpress

我使用新闻的默认自定义帖子类型,结果是网址:

myurl.com/news/news-item-title

太好了,这就是我想要的。我也知道我可以创建自定义帖子类型并使用'with_front' => false来实现:

myurl.com/news/news-item-titlemyurl.com/customposttype/customposttype-title

但是,我想要做的是在同一个父网址下分组多个自定义帖子类型,例如:

myurl.com/parenturl/customposttype1/customposttype1-title myurl.com/parenturl/customposttype2/customposttype2-title myurl.com/parenturl/customposttype3/customposttype3-title

这可能吗?如果是这样,怎么样?

非常感谢。

1 个答案:

答案 0 :(得分:0)

将以下代码插入主题functions.php文件

add_action('init','add_rewrite_rules');
function add_rewrite_rules() {
    add_rewrite_rule(
        'parenturl/customposttype1/customposttype1-([^/]+)?$',
        'index.php?post_type=customposttype1&name=$matches[1]',
        'top'
        );

    add_rewrite_rule(
        'parenturl/customposttype2/customposttype2-([^/]+)?$',
        'index.php?post_type=customposttype2&name=$matches[1]',
        'top'
        );

    add_rewrite_rule(
        'parenturl/customposttype3/customposttype3-([^/]+)?$',
        'index.php?post_type=customposttype3&name=$matches[1]',
        'top'
        );
}

这基本上为您创建了自定义重写规则,用于查找自定义帖子类型并将帖子名称与正则表达式相匹配。

添加此代码后,您还需要Flush your rewrite rules