gpt4 book ai didi

wordpress - 如何设置永久链接以在 wordpress 中使用父帖子获取所有子自定义帖子?

转载 作者:行者123 更新时间:2023-12-04 08:53:57 25 4
gpt4 key购买 nike

我为自定义帖子类型创建父子关系。

Generic : www.example.com/parent/parent_post

Sample : www.example.com/projects/project-one



在上面的 URL 中,父级是自定义帖子类型,父级帖子是其单个帖子。
我可以将所有帖子和单个帖子分别显示为 archive-parent.php 和 single-parent.php 。

正如我之前提到的,我创建了父子关系,并使用将“post_parent”存储为父 ID 的子帖子。

Generic : www.example.com/child/parent_post/child_post

Sample : www.example.com/project_article/project-one/first-article



对于特定的子帖子,URL 将如上。

下面的代码用于获取特定的子帖子。它工作正常。
function my_add_rewrite_rules() {
add_rewrite_tag('%child%', '([^/]+)', 'child=');
add_permastruct('child', 'child/%parent%/%child%', false);
add_rewrite_rule('^child/([^/]+)/([^/]+)/?','index.php?child=$matches[2]','top');
}
add_action( 'init', 'my_add_rewrite_rules' );

function my_permalinks($permalink, $post, $leavename) {
$post_id = $post->ID;
if($post->post_type != 'child' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
return $permalink;
$parent = $post->post_parent;
$parent_post = get_post( $parent );
$permalink = str_replace('%parent%', $parent_post->post_name, $permalink);
return $permalink;
}
add_filter('post_type_link', 'my_permalinks', 10, 3);

Generic : www.example.com/child/parent_post

Sample : www.example.com/project_article/project-one



现在我想要所有带有父帖子的子帖子,如上面的 URL。

我是 word-press 新手请指导。

最佳答案

假设 parent作为父自定义帖子类型,child作为子自定义帖子类型,希望您需要像 http://www.example.com/parent/parent-post/child/child-post 这样的子帖子 URL而不是 http://www.example.com/child/parent-post/child-post .

更改您的 my_add_rewrite_rules()功能如下。

function my_add_rewrite_rules() {
add_rewrite_tag('%child%', '([^/]+)', 'child=');
add_permastruct('child', '/parent/%parent%/child/%child%', false);
add_rewrite_rule('^parent/([^/]+)/child/([^/]+)/?','index.php?child=$matches[2]','top');
}
add_action( 'init', 'my_add_rewrite_rules' );

更新后别忘了 冲洗固定链接 通过“设置>固定链接”。

关于wordpress - 如何设置永久链接以在 wordpress 中使用父帖子获取所有子自定义帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144868/

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