- 状态
- 未解决
- 报告针对
- WPML Media Translation 2.7.0
- 相关插件/主题
- SVG Support
- 主题标签
- Compatibility
问题概述
如果您正在使用 SVG Support 插件,您会注意到当激活 WPML Media Translation 插件时,SVG 图像 URL 是不完整的。例如:
- 激活 WPML 媒体翻译时:https://domain.com/wp-content/uploads/logo.svg
- 未激活 WPML 媒体翻译时:https://domain.com/wp-content/uploads/2022/05/logo.svg
临时解决方法
- 将以下代码片段添加到您的functions.php主题文件中:
// WPML Workaround for compsupp-6933 add_filter('wp_get_attachment_metadata', 'wpml_compsupp6933_fix_attachment_metadata_file_path', 10, 2); function wpml_compsupp6933_fix_attachment_metadata_file_path($data, $attachment_id) { // Only apply the workaround if WPML Media and SVG Support plugins are active if( class_exists('WPML_Media') && function_exists('bodhi_svgs_generate_svg_attachment_metadata') ) { if (isset($data['file']) && !preg_match('/\d{4}\/\d{2}\//', $data['file'])) { // Get the upload directory info $upload_dir_info = wp_upload_dir(); // Extract the year and month from the basedir $year_month = date('Y/m', strtotime(get_post_field('post_date', $attachment_id))); // Prepend the year and month to the file $data['file'] = $year_month . '/' . $data['file']; } } return $data; }