WP-自定义帖子类型-重写网址

问题描述

我正在开发一个网站,该网站将显示一个品牌的酒店。酒店是子页面,每个酒店都有其房间。为了区分酒店之间的房间,我使用了分类法,因此每个房间都有tag,带有酒店名称。从技术上讲,我有一个名为room自定义帖子类型,它的分类法为room_category

现在 domain.com/hotel-1/rooms / 页面显示了酒店1的所有房间。(列表页面)

但是房间详细信息页面的网址为 domain.com/rooms/hotel-1/comfort-room /

我想将其更改为 domain.com/hotel-1/rooms/comfort-room /

我的代码如下(帖子类型和分类不是分层的)

register_post_type("room",[
    "public" => true,"query_var" => false,"show_ui" => true,"delete_with_user" => false,"hierarchical" => false,"labels" => [
        "name" => "Room","singular_name" => "Single Room",],"rewrite" => [
        "slug" => "%room_category%/rooms","taxonomies" => [
        "room_category",]);
register_taxonomy("room_category","room",[
    "public" => false,"show_admin_column" => true,"rewrite" => false,"labels" => [
        "name" => "Room Categories","singular_name" => "Room Category",'rewrite' => [
         'slug' => "rooms",]);
function postTypeRoomCustomUrl($post_link,$id = 0) {
    $post = get_post($id);
    $terms = wp_get_object_terms($post->ID,'room_category');
    return $terms ? str_replace('%room_category%',$terms[0]->slug,$post_link) : $post_link;
  }

我已经尝试过-在帖子类型重写查询中移动分类法-在帖子类型重写查询中使用,该查询适用于酒店客房,然后它们具有正确的URL,但断开了所有其他页面链接。也许我只是在此函数中缺少某些东西(在post_type_link过滤器中称为该函数)。

"slug" => "%room_category%/rooms",

感谢任何帮助或提示:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)