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

如何仅针对WordPress自定义文章类型job_listing修改已有永久链接别名长度

调整批量修改slug代码,仅针对job_listing自定义文章类型

原问题背景

现有代码可限制WordPress新文章(已适配job_listing类型)的slug为最多5个词,同时有批量修改已有文章slug的代码,但目前该批量代码仅处理默认文章类型,需要调整为只针对job_listing自定义文章类型。

修改后的CODE 2(仅处理job_listing类型已有文章)

function limit_all_existing_slugs(){
    // 仅获取job_listing类型的所有文章
    $posts = get_posts( array (  
        'numberposts' => -1,
        'post_type'   => 'job_listing' // 新增:指定目标自定义文章类型
    ) );
    
    foreach ( $posts as $post ){
        // 双重校验:确保当前文章是目标类型(可选,增强鲁棒性)
        if ( $post->post_type !== 'job_listing' ) {
            continue;
        }

        // 调用已有函数生成符合要求的新slug
        $new_slug = pm_trim_native_slug($post->post_name, 
                                        $post->ID, 
                                        $post->post_status, 
                                        $post->post_type, 
                                        $post->post_parent);

        // 仅当slug有变化时才执行更新
        if ( $post->post_name != $new_slug ){
            wp_update_post(
                array (
                    'ID'        => $post->ID,
                    'post_name' => $new_slug
                )
            );
        }
    }
}

修改说明

  • 核心调整:在get_posts的参数中添加'post_type' => 'job_listing',直接限定查询范围为目标自定义文章类型,避免处理无关内容。
  • 可选增强:循环内增加post_type校验,即使查询参数出现异常,也能确保不会误修改其他类型的文章。

注意事项

  • 执行批量修改前务必备份数据库,防止操作失误导致数据丢失或异常。
  • 修改slug会改变文章永久链接,完成操作后建议设置301重定向,避免影响SEO和用户访问体验。
  • 批量修改完成后,建议删除用于触发的CODE 3文件,防止后续误执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:52:40