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



基本上,我在函数中声明了一个自定义帖子类型.php:

register_post_type("butik", [
    "labels" => [
        "name" => "Butik",
        "singular_name" => "Butik"
    ],
    "show_ui" => true,
    "supports" => [
        "title",
        "editor",
        "thumbnail"
    ]
]);

但是,我在自定义列表页面上正确呈现了所有帖子。我希望它们在单击时也显示在单个.php模板上。我已经用谷歌搜索了很长时间,到处阅读我应该为我的情况创建一个单一的 butik.php并能够在那里列出每个适当的帖子,但它不起作用。它只是引导我索引.php模板,所以我尝试将它们列出在那里,但没有成功,尝试打印出那里的帖子,没有成功.....

我做错了什么?!...

自定义帖子的永久链接的一个例子是:http://localhost:8080/caroli/butik/caroli-blommor/

有什么提示或解决方案吗?

尝试添加"public" => true,并且:'rewrite' => array('slug' => 'butik') 键

register_post_type("butik", [
    "labels" => [
        "name" => "Butik",
        "singular_name" => "Butik"
    ],
    "show_ui" => true,
    'public' => true,
    'rewrite' => [
        'slug' => 'butik'
    ],
    "supports" => [
        "title",
        "editor",
        "thumbnail"
    ]
]);

之后转到设置 ->永久链接设置,然后单击"更新按钮"。

此问题通常是由于需要更新重写规则。 WordPress并不总是擅长自动执行此操作。 请尝试以下步骤(按此顺序):

  1. 转到永久链接>设置,然后将结构更改为"自定义结构"。 (它应默认为"http://yourdomain.com/%postname%/)。 确保单击"保存更改"。 检查并查看您的自定义帖子类型现在是否使用单布提克.php模板。 如果不是,则:

  2. 打开函数.php并添加以下代码:

    function theme_prefix_rewrite_flush() {
       flush_rewrite_rules();
    }
    add_action( 'after_switch_theme', 'theme_prefix_rewrite_flush' );
    

保存您的函数.php并在WordPress管理员中将您的主题切换到2014(或任何其他默认主题)并激活它。 现在将您的主题切换回应有的位置。 这将强制刷新重写规则。

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

如果您问我自定义帖子类型的最佳解决方案是 acf 插件,他会为您完成所有这些工作,只需先阅读文档,然后您就可以根据需要制作模板。

我希望这对你有所帮助:)

相关内容

  • 没有找到相关文章

最新更新