サポート » テーマ » 画像のファイル名を記事ID+連番に統一したい

  • アイキャッチや記事内画像など投稿される画像ファイル名が、
    適当で「スクリーンショット」などの日本語が混ざっていることがほとんどなので
    アップロードされた時のファイル名を投稿記事ID+連番に自動リネームしたく試行錯誤中です。

    現状、下記のコードで連番でリネームするところまで出来たのですが、
    メディアの画面でサムネイルが表示されなくdefaultの画像に置き換わってしまいます…。

    
    function rename_attacment( $post_ID ) {
    	$post = get_post( $post_ID );
    	$file = get_attached_file( $post_ID );
    	$path = pathinfo( $file );
    	$upload_dir = wp_upload_dir();
    	$parent_ID = wp_get_post_parent_id( $post_ID );
    	$unique_file_name = wp_unique_filename( $upload_dir['path'] , $parent_ID."." . $path['extension']);
    	$newfilename = basename( $unique_file_name );
    	$newfile = $path['dirname'] . "/" . $newfilename;
    	$image_meta = array(
    		'ID' => $post_ID,
    		'post_title' => $parent_ID
    	);
    	
       rename( $file, $newfile );
    	update_post_meta( $post_ID, '_wp_attachment_image_alt', $newfilename);
    	wp_update_post( $image_meta );
    	wp_update_attachment_metadata( $post_ID, wp_generate_attachment_metadata( $post_ID, $newfilename ) );
    	update_attached_file( $post_ID, $newfilename );
    	return $post_ID;
    	
    }
    add_action( 'add_attachment', 'rename_attacment' );
    

    wp_generate_attachment_metadataの部分が上手くいってないようなのですが、どのように修正するとサムネイルが生成されますでしょうか?
    もしくは、同じような機能を持つプラグインはありますでしょうか?

    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。