如何在所有帖子中用 WordPress 中的新图像替换现有图像?

问题描述 投票:0回答:1

我想为 WordPress 创建一个插件,将所有非 webp 图像转换为 webp。

我创建了一个函数,它将文件路径作为参数,并从该文件创建一个新的 webp 图像。

现在我陷入困境,如何在所有使用旧图像的帖子中用新图像替换这个旧图像?

php wordpress image wordpress-plugin-creation
1个回答
0
投票

您可以为此使用过滤器。 WordPress 使用操作和过滤器,以便开发人员可以修改其功能。在这种情况下,请查看

get_attached_file
wp_get_original_image_path

  • get_attached_file
    返回针对 Web 使用优化的文件路径。 文档
  • wp_get_original_image_path
    返回原始上传文件的路径。 文档

对于这两个函数,您都可以使用过滤器来修改它们的结果。在您的情况下,如果请求的文件之前以请求的格式和大小压缩过,您将更改文件扩展名。

注册过滤器,应在

get_attached_file
函数运行时调用,如下所示:

function get_attached_file_callback( $file, $attachment_id ) {
    // modify the file path
    return $file;
}
add_filter( 'get_attached_file', 'get_attached_file_callback', 10, 2 );
© www.soinside.com 2019 - 2024. All rights reserved.