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

WordPress Job Manager插件提交申请后获取职位分类失败排查

解决Job Manager插件中获取职位分类为空的问题

问题原因

WordPress的get_the_category()函数仅适用于默认文章分类(category),而Job Manager插件的职位属于自定义文章类型,它的分类是插件自定义的分类法(并非默认分类),因此用这个函数无法获取到分类数据,返回空数组。

解决方案

  1. 确认职位对应的自定义分类法名称

    • 可以通过后台“职位分类”页面的URL查看,比如URL中包含taxonomy=job_listing_category,则分类法名称为job_listing_category(这是Job Manager的默认分类法名称);
    • 也可以临时在代码中添加var_dump(get_object_taxonomies('job_listing'));,打印出职位自定义文章类型的所有分类法,确认准确名称。
  2. 替换为自定义分类法的获取函数
    使用get_the_terms()函数,该函数支持自定义分类法,语法为get_the_terms( $post_id, $taxonomy )。

修正后的代码

add_action( 'new_job_application', function( $application_id, $job_id ) {
    // 替换为Job Manager职位对应的自定义分类法,默认是job_listing_category
    $taxonomy = 'job_listing_category';
    $category_detail = get_the_terms( $job_id, $taxonomy );

    // 先判断分类数据是否存在且无错误
    if ( ! empty( $category_detail ) && ! is_wp_error( $category_detail ) ) {
        foreach( $category_detail as $cd ){
            if( $cd->name == 'INTERNAL EMPLOYMENT' ){
                $message = "Well done!\n";
                $message .= "INTERNAL EMPLOYMENT";
                wp_mail('gaderex376@barakal.com', "Testing Email test INTERNAL EMPLOYMENT", $message);
            }
        }
    }
}, 999, 2 );

额外注意

  • 若job_listing_category不是插件实际使用的分类法,务必替换为步骤1中确认的正确名称;
  • 添加! is_wp_error( $category_detail )判断,避免分类获取出错时触发循环报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:05:03