gpt4 book ai didi

php - 如何将 "blog"slug 添加到 wordpress 帖子?

转载 作者:行者123 更新时间:2023-12-04 00:37:21 26 4
gpt4 key购买 nike

我正在做一个 wordpress 项目,我有一个困难,我想在博客文章中添加“博客”slug

例如我目前的博客 slug 就像

http://www.abc.com/post

我想把它变成这样

http://www.abc.com/blog/post

我不想创建自定义帖子类型我需要使用现有的

我尝试了很多解决方案,例如将永久链接更改为 blog/%postname%

一个解决方案对我有用

下面是我的代码

add_action( 'init', 'my_new_default_post_type', 1 );
function my_new_default_post_type() {

register_post_type( 'post', array(
'labels' => array(
'name_admin_bar' => _x( 'Post', 'add new on admin bar' ),
),
'public' => true,
'_builtin' => false,
'_edit_link' => 'post.php?post=%d',
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'rewrite' => array( 'slug' => 'blog' ),
'query_var' => false,
'with_front' => false,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
) );
}

我已将这段代码添加到我的 functions.php 中,并在帖子中添加了 slug。但是当我点击特定的帖子时问题来了,它将重定向到 404 页面。如果我删除此代码,我将重定向到正确的帖子。

需要您的建议。

最佳答案

只需转到您的永久链接设置,确保将其设置为自定义并在 %post_name% 前面添加“/blog/”,这样您的结构前面就会有“/blog/”,如果您也使用 CPT 确保在像这样注册时添加 'with_front'=>false:

'rewrite' => array( 'slug' => 'cpt_name', 'with_front'=> false ),

它的工作方式是:如果你的永久链接结构是/blog/,那么你的链接将是:如果 with_front = false 固定链接:/news/如果 with_front = true 固定链接:/blog/news/

问题是它默认为 true

包含此信息的 wordpress codex 页面是 here

您还需要注意的是:如果在插件中注册一个帖子类型,请在激活和停用 Hook 中调用 flush_rewrite_rules()(请参阅下面的激活时刷新重写)。如果未使用 flush_rewrite_rules(),则您必须手动转到“设置”>“永久链接”并刷新您的永久链接结构,然后您的自定义帖子类型才会显示正确的结构。

关于php - 如何将 "blog"slug 添加到 wordpress 帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com