WordPress CPT URL元数据集

时间:2018-01-11 作者:Matt

如果该公司有多个位置,我如何为我的自定义帖子类型“company”设置不同的url。

例如:CPT:“公司”和slughttp://example.com/companyCPT公司职务:“公司ABC”:http://example.com/company/company-abc

我有cmb2(自定义metabox 2)来添加一些位置的集合:locations1-USA、locations2-UK等。

如果键入地址url,我想显示位置地址:

美国元位置(如果url)http://example.com/company/parmeter/1英国元位置if urlhttp://example.com/company/parmeter/2

我怎样才能做到这一点?

1 个回复
SO网友:mmm

可以使用如下新的重写规则添加参数:

add_action("init", function () {

    add_rewrite_tag("%countryName%", "([^&]+)");

    add_rewrite_rule(
          "^company/([^/]*)/country/([^/]*)/?"
        , \'index.php?company=$matches[1]&countryName=$matches[2]\'
        , "top"
    );


});
添加此代码后,刷新WordPress的重写规则。

然后您可以使用URL,如http://example.com/company/company-abc/country/UK然后在模板中,使用get_query_var("countryName", NULL)

结束