【问题标题】:Custom post type clashes with external JS library自定义帖子类型与外部 JS 库冲突
【发布时间】:2022-01-22 07:08:55
【问题描述】:

我的网站使用 JS 预订脚本(小部件),该脚本使用 GET 参数“accommodation”来告诉预订页面它喜欢预订哪种住宿。

但是,我有一个具有该确切名称的自定义帖子类型:

register_post_type('accommodation', [
        'labels' => $labels,
        'public' => true,
        'menu_icon' => 'dashicons-location-alt',
        'supports' => ['title', 'revisions'],
        'has_archive' => false,
        'publicly_queryable' => true,
        'rewrite' => [
                'slug' => 'our-accommodations',
                'with_front' => false,
                'feeds' => false,
                'pages' => false,
        ],
    ]);

它会破坏外部 JS 脚本除非我将该自定义帖子类型的 publicly_queryable 设置为 false

如何在不更改帖子类型名称的情况下解决这个问题?

【问题讨论】:

    标签: php wordpress custom-post-type


    【解决方案1】:

    尝试在调用register_post_type 时更改args 数组中的query_var 参数。这样,您可以将“住宿”作为帖子类型,并且查询字符串变量可能类似于“我们的住宿”。见register_post_type

    register_post_type('accommodation', [
            'labels' => $labels,
            'public' => true,
            'menu_icon' => 'dashicons-location-alt',
            'supports' => ['title', 'revisions'],
            'has_archive' => false,
            'publicly_queryable' => true,
            'query_var' => 'our-accommodations',
        ]);
    

    【讨论】:

    • 感谢您的回复,这使得帖子类型的所有链接都转到https://example.com/archives/accommodation/{name},返回404。
    猜你喜欢
    • 2017-09-19
    • 2018-11-23
    • 1970-01-01
    • 2014-02-21
    • 2013-01-28
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    相关资源
    最近更新 更多