Php 自定义帖子类型wordpress的大问题

Php 自定义帖子类型wordpress的大问题,php,wordpress,Php,Wordpress,基本上,我在functions.php中声明了一个自定义post类型: register_post_type("butik", [ "labels" => [ "name" => "Butik", "singular_name" => "Butik" ], "show_ui" => true, "supports" => [ "title", "editor",

基本上,我在functions.php中声明了一个自定义post类型:

register_post_type("butik", [
    "labels" => [
        "name" => "Butik",
        "singular_name" => "Butik"
    ],
    "show_ui" => true,
    "supports" => [
        "title",
        "editor",
        "thumbnail"
    ]
]);
然而,我在我的自定义列表页面上正确地呈现了所有帖子。。我希望在单击它们时,它们也显示在单个.php模板上。我在谷歌上搜索了很久,到处都读到我应该为我的案例创建一个butik.php,并且能够在那里列出每个合适的帖子,但是它不起作用。它只是将我引导到index.php模板,所以我尝试在那里列出它们,但没有成功,尝试在那里打印帖子,没有成功

我做错了什么

自定义帖子的永久链接的一个示例是:


任何提示或解决方案?

尝试添加“public”=>true,然后: “重写”=>array('slug'=>butik')键


然后进入设置->永久链接设置,只需单击“更新按钮”。

此问题通常是由于需要更新重写规则造成的。WordPress并不总是擅长自动完成这项工作。尝试以下步骤(按此顺序):

  • 转到设置>永久链接,并将结构更改为“自定义结构”。(默认为“)。确保单击“保存更改”。检查并查看您的自定义帖子类型是否正在使用single-butik.php模板。如果不是,则:

  • 打开functions.php并添加以下代码:

    function theme_prefix_rewrite_flush() {
       flush_rewrite_rules();
    }
    add_action( 'after_switch_theme', 'theme_prefix_rewrite_flush' );
    
  • 保存你的functions.php,并在WordPress管理员中将你的主题切换到2014(或任何其他默认主题)并激活它。现在将你的主题切换回原来的状态。这将强制刷新重写规则


    无论如何,你的自定义帖子类型应该使用正确的single-butik.php模板。

    如果你问我自定义帖子类型的最佳解决方案是他会为你做所有这些工作,只需先阅读文档,然后你就可以随心所欲地做模板


    我希望这能帮助您:)

    仔细检查您的文件层次结构。最好先创建single.php的副本,然后将其重命名为single-bukit.php,这样可以最大限度地减少出错的可能性。@RaheelKhan Buddy。我只尝试了single.php、single-butik.php、index.php,或者全部使用……我不明白:(
    function theme_prefix_rewrite_flush() {
       flush_rewrite_rules();
    }
    add_action( 'after_switch_theme', 'theme_prefix_rewrite_flush' );