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

为WordPress自定义文章类型分类添加图片的问题及解决

WordPress分类自定义图片功能的问题与解决过程

初始问题

为WordPress主题添加分类图片功能后,后台及站点前端已能正常显示图片,但functions.php文件出现如下警告:

Warning: Undefined array key "category_custom_image_url" in C:\xampp\htdocs\wordpress\wp-content\themes\customjob\functions.php on line 457

初始实现代码如下:

add_action( 'edit_term', 'edit_term_callback' );
    function edit_term_callback($term_id) {
        $image = '';
        $image = get_term_meta( $term_id, 'term_image' );
        if ( $image )
            update_term_meta( $term_id, 'term_image', esc_url( $_POST['category_custom_image_url']) )
    else
        add_term_meta( $term_id, 'term_image', esc_url( $_POST['category_custom_image_url']) );
}

临时修复后的新问题

通过在if ( $image )前添加$_POST[] = 'category_custom_image_url';解决了未定义数组键的警告,但出现新问题:在分类编辑页面未对图片做任何操作时,点击更新按钮会删除当前已设置的图片。

最终解决方案

添加判断逻辑,仅当提交的图片URL存在且非空时才更新元数据,否则保留原有图片设置,解决后的代码如下:

add_action( 'edit_term', 'edit_term_callback' );
function edit_term_callback($term_id) {
    $_POST[] = 'category_custom_image_url';
    if ( isset($_POST['category_custom_image_url']) && '' !== $_POST['category_custom_image_url'] )
        update_term_meta( $term_id, 'term_image', esc_url( $_POST['category_custom_image_url']) );
    else
        add_term_meta( $term_id, 'term_image', esc_url( $_POST['category_custom_image_url']) );
}

@womd 非常感谢您的关注,祝您生活顺遂。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:30