(WordPress教程)纯代码实现上传图片时自动将图片重命名为文章标题 - 汇站网

(WordPress教程)纯代码实现上传图片时自动将图片重命名为文章标题

2023-11-24 0 273

正文:

为了简化操作过程,我们可以为 WordPress 文章上传图片时自动重命名图片名称。之前的文章可以使用时间或 MD5 生成数字来重命名所有媒体文件。在文章编辑时上传添加图片时,我们可以自动将图片重命名为文章标题,并自动填充图片的 ALT、说明、替代文本和描述等相关信息。只需将以下代码添加到当前主题的functions.php文件中即可。
(WordPress教程)纯代码实现上传图片时自动将图片重命名为文章标题

代码如下:

// https://www.huizhanii.com
function file_renamer( $filename ) {
    	$info = pathinfo( $filename );
    	$ext  = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
    	$name = basename( $filename, $ext );
    	if( $post_id = array_key_exists( "post_id", $_POST) ? $_POST["post_id"] : null ) {
    		if($post = get_post($post_id)) {
    return $post->post_title . $ext;
    		}
    	}
 
    	$my_image_title = $post;
    	$file['name'] = $my_image_title  . - uniqid() . $ext; // uniqid method
    	// $file['name'] = md5($name) . $ext; // md5 method
    	// $file['name'] = base64_encode( $name ) . $ext; // base64 method
    	return $filename;
    }
 
    add_filter( 'sanitize_file_name', 'file_renamer', 10, 1 );
 
    // 上传时自动设置图像标题、替代文本、标题和描述
    add_action( 'add_attachment', 'my_set_image_meta_upon_image_upload' );
    function my_set_image_meta_upon_image_upload( $post_ID ) {
 
    	// 检查上传的文件是否是图片
    	if ( wp_attachment_is_image( $post_ID ) ) {
 
    		if( isset( $_REQUEST['post_id'] ) ) {
    			$post_id = $_REQUEST['post_id'];
    		} else {
    			$post_id = false;
    		}
 
    		if ( $post_id != false ) {
    			$my_image_title = get_the_title( $post_id );
    		} else {
    			$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,  // 图像描述
    		);
 
    		// 添加图像 Alt
    		update_post_meta( $post_ID, '_wp_attachment_image_alt', $my_image_title );
 
    		// 添加标题、说明、描述
    		wp_update_post( $my_image_meta );
    	}
    }
提示:上面的方法只适合在文章编辑页面使用,如果在媒体库上传无效。另外,图片名称为中文貌似有的主机环境并不支持。

转载请注明:汇站网 » (WordPress 教程)纯代码实现上传图片时自动将图片重命名为文章标题

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

感谢您的来访,获取更多精彩资源请收藏本站。

本站声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 5.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 6.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们我们会及时删除,给您带来的不便,我们深表歉意!
 7.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 8.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 9.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 10.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 11.  更多详情请点击查看

汇站网 WordPress教程 (WordPress教程)纯代码实现上传图片时自动将图片重命名为文章标题 https://www.huizhanii.com/33926.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论 表情开关按钮图片
表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com