You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为自定义文章类型添加重写规则导致Divi主题构建器失效

自定义重写规则导致Divi主题构建器失效

我正在搭建商家列表网站,客户要求URL中包含城市信息。为此我添加了一条重写规则,虽然能正常实现URL需求,但Divi主题构建器会彻底无法工作——只要注释掉add_rewrite_rule这行代码,构建器就能恢复正常。

我已经做了以下排查:

  • 开启Divi安全模式(此时无重写规则,构建器运行正常)
  • 切换到子主题并禁用所有插件
  • 完全更新WordPress和Divi版本
  • 在另一个独立站点测试相同代码,问题依旧复现

相关代码如下:

$slug = 'listings';
$Title = 'Listing';
$Titles = 'Listings';
$titles = 'listings';

$labels = [
    'name'                       => _x($Titles, 'Taxonomy General Name', $text_domain),
    'singular_name'              => _x($Title, 'Taxonomy Singular Name', $text_domain),
    'menu_name'                  => __($Titles, $text_domain),
    'all_items'                  => __('All ' . $Titles, $text_domain),
    'parent_item'                => __('Parent ' . $Title, $text_domain),
    'parent_item_colon'          => __('Parent ' . $Title . ':', $text_domain),
    'new_item_name'              => __('New ' . $Title . ' Name', $text_domain),
    'add_new_item'               => __('Add New ' . $Title, $text_domain),
    'edit_item'                  => __('Edit ' . $Title, $text_domain),
    'update_item'                => __('Update ' . $Title, $text_domain),
    'view_item'                  => __('View ' . $Title, $text_domain),
    'separate_items_with_commas' => __('Separate ' . $titles . ' with commas', $text_domain),
    'add_or_remove_items'        => __('Add or remove ' . $titles, $text_domain),
    'choose_from_most_used'      => __('Choose from the most used', $text_domain),
    'popular_items'              => __('Popular ' . $Titles, $text_domain),
    'search_items'               => __('Search ' . $Titles, $text_domain),
    'not_found'                  => __('Not Found', $text_domain),
    'no_terms'                   => __('No ' . $Titles, $text_domain),
    'items_list'                 => __($Titles . ' list', $text_domain),
    'items_list_navigation'      => __($Titles . ' list navigation', $text_domain),
];
$args = [
    'label'         => __($Title, $text_domain),
    'description'   => __('Custom post type', $text_domain),
    'menu_position' => 4,
    'labels'        => $labels,
    'supports'      => ['title', 'thumbnail'],
    'taxonomies'    => ['post_tag', 'category'],
    'public'        => TRUE,
    'has_archive'   => TRUE,
    'rewrite'       => TRUE,
];

register_post_type($slug, $args);

add_rewrite_tag('%city%', '([^&]+)', 'city=');
add_rewrite_rule(
    '([^/]+)/([^/]+)/?$',
    'index.php?post_type=listings&city=$matches[1]&name=$matches[2]',
    'top'
);

内容的提问来源于stack exchange,提问作者dawoodman71

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:51:10