我正在尝试向扩展媒体管理的插件添加功能。此功能将允许您重命名附件文件。我已经能够使用以下代码完成此操作。
public function update_attachment_filename( $post_ID ) {
// Get path to existing file
$file = get_attached_file( $post_ID );
$path = pathinfo( $file );
// Generate new file name
$file_updated = $path['dirname'] . '/' . $_POST['update_filename'] . '.' . $path['extension'];
// Update the name and reference to file
rename( $file, $file_updated );
update_attached_file( $post_ID, $file_updated );
}
虽然使用上述方法重命名了原始文件,但插件/主题中定义的所有其他图像大小都不会更新。我正在努力找出完成这项任务的最佳方法。
我已经研究过wp_update_attachment_metadata()
,wp_generate_attachment_metadata()
但不确定它们是否会给我所需的功能。
此外,我还研究了以下内容:
$file_meta = wp_get_attachment_metadata( $post_ID );
foreach( $file_meta['sizes'] as $image ) {
// Do something
}
任何朝着正确方向的轻推将不胜感激。
谢谢!