是否可以在functions.php文件中执行以下操作?
我有以下网址结构:
hxxp://domain.com/custom-post-type-slug/parent-term-slug/child-term-slug/page-slug/
直接在父条款下,没有页面,只有子条款。
有没有办法重定向' root'儿童用语属于属于同一子女用语的第一个帖子?
hxxp://domain.com/custom-post-type-slug/parent-term-slug/child-term-slug/
需要重定向到:
hxxp://domain.com/custom-post-type-slug/parent-term-slug/child-term-slug/page-slug/
答案 0 :(得分:2)
好吧,我的朋友你想要的是什么......非常奇怪的请求,但可能。
add_action('wp', 'get_first_child');
function get_first_child() {
global $wp_query;
if($wp_query->queried_object_id){
$args = array(
'post_parent' => $wp_query->queried_object_id,
'numberposts' => -1,
'order'=> 'ASC',
'post_status' => 'published'
);
$post = get_children($args);
//here I test if there is more than one child.. if yes I stop here if you want it to keep going just remove this
$post = (count($post) > 1) ? null : reset($post);
if($post->guid){
wp_redirect( $post->guid, 301 );
exit;
}
}
}
我所做的就是让所有与你的主要职位相关的孩子,如果有一个以上的孩子,将其重置为第一个。
然后我得到他的guid并使用301重定向它。
Tadã......魔法完成了!
希望这就是你想要的:)