默认情况,WordPress上传到媒体的图片title和alt为空,但是考虑到SEO,插入到文章或页面的图片必须要填写alt或者title,每张图片都要手动填写,效率太慢了。

下面的代码能够实现:

WordPress上传图片时,根据图片的名字自动填充图片title和alt等属性,拿去享用吧!…

function my_set_image_meta_upon_image_upload( $post_ID ) {
    if ( wp_attachment_is_image( $post_ID ) ){
        $my_image_title = get_post( $post_ID )->post_title;
        $my_image_title = preg_replace( '%\s*[-_\s]+\s*%', ' ', $my_image_title );
        $my_image_title = ucwords( strtolower( $my_image_title ) );
        $my_image_meta = array(
            'ID' => $post_ID, // 指定要更新的图片 (ID)
            post_title' => $my_image_title, // 设置图片标题为经过消毒的标题
            post_excerpt' => $my_image_title, // 设置图片标题(摘录)为经过消毒的标题
            post_content' => $my_image_title, // 将图片描述(内容)设为经过消毒的标题
        );
        update_post_meta( $post_ID, '_wp_attachment_image_alt', $my_image_title );
        wp_update_post( $my_image_meta );
    } 
}
add_action( 'add_attachment', 'my_set_image_meta_upon_image_upload' );

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。