需要更新1000多个包含法语字符的图像。
以下人员为测试岗位工作:
创建了一个没有FR字符的图像副本,更新了日志正文中的文件名,使用wp_update_post (WP功能)
使用更新的“附件元数据”wp_update_attachment_metadata (WP功能)使用更新了“附件”update_attached_file (WP功能)看起来我可以跳过:
更新了“附件元数据”,使用wp_update_attachment_metadata (WP功能)
使用更新了“附件”update_attached_file (WP函数),只需更改帖子内容,使其使用以下代码引用新图像:
// Array used to update the post
$my_post = array(
\'ID\' => $post_ID,
\'post_content\' => $content_with_updated_file_name
);
// Update post content using the array above
wp_update_post( $my_post, true );
if (is_wp_error($post_ID)) {
$errors = $post_ID->get_error_messages();
foreach ($errors as $error) {
echo $error;
}
}
这是正确的方法吗?还是我应该不断更新我要重命名的每个图像的“附件元数据”和“附件文件”?
SO网友:ZecKa
其他解决方案可以使用此插件:Phoenix Media Rename (警告,它不适用于wpml)
此插件不允许执行批量操作来缓冲所有文件。
但有一个技巧你可以做到:
安装并激活插件后,转到媒体库,在;“列表”;模式并显示每页999个项目打开javascript控制台粘贴a;“缓动”;控制台中的函数,例如this file (slugifyjs)然后执行jQuery函数修改phoenix media rename的所有输入内容
jQuery(\'.phoenix-media-rename input\').each(function($){
let filename = $(this).val();
filename = slugify(filename).toLowerCase()
$(this).val(filename)
})
<最后选中所有复选框并选择;重命名(&Q);在批量操作下拉列表中,单击应用,等待所有介质显示复选标记。注意:此操作可能返回类型为;PHP致命错误:允许的内存大小"E;。如果是这种情况,请尝试使用web主机查看是否可以暂时增加分配给PHP的内存