如何使用与帖子类型名称不同的存档slug创建自定义帖子类型

时间:2016-09-09 00:39:01

标签: php wordpress

我创建了一个名为listing的帖子类型和一个随附的存档页面archive-listing.php。当我导航到/listings时,存档页面会正确加载。但是,我希望归档网址为/marketplace。我正在定义下面的rewrite属性,但它似乎不起作用。我错过了什么?

register_post_type("listing",
    array(
        "menu_icon" => "dashicons-tag",
        "labels" => array(
            "name" => __( "Listings" ),
            "singular_name" => __("Listing")
        ),
        "public" => true,
        "has_archive" => true,
        "rewrite" => array("slug" => "marketplace"),
        "supports" => array("title", "editor"),
        "taxonomies" => array("listing_status")
    )
);

3 个答案:

答案 0 :(得分:2)

当您注册新的自定义帖子类型时,您需要刷新永久链接。

为此,请转到设置 - > admin中的永久链接和点击保存(不需要更改)。

如果您要创建即将发布的内容,则可能需要以编程方式执行此操作。您需要通过挂钩插件激活或flush_rewrite_rules()操作来运行after_switch_theme。可以在此处找到文档:https://codex.wordpress.org/Function_Reference/flush_rewrite_rules

答案 1 :(得分:2)

您还可以使用:

'has_archive' => 'marketplace'

这样,存档页面的标签将是/ marketplace,而单个页面将是/ listing

答案 2 :(得分:1)

尝试更新设置 - >永久链接结构为默认值,然后更新为%% postname %%