Polylang Add-on: Translate existing media WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-
Bulk translate and replace all existing media in content, featured image and meta fields when you enable translations in media with Polylang.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/aucor/polylang-translate-existing-media/archive/refs/heads/master.zipOn Packagist as aucor/polylang-translate-existing-media:
composer require aucor/polylang-translate-existing-media
Description
Polylang Translate existing media is an add-on for the multilingual WordPress plugin Polylang. This add-on let's you bulk translate and replace all existing media in content, featured image and meta fields you enable translations in media. This plugin is based on my other Polylang plugin polylang-copy-content.
When to use:
- When turning existing site to multi-lingual
- When enabling media translations when you already have media uploaded and added to content
Basic feature list:
- Translate all media (images and galleries) that are inside content, meta fields and featured image
- Takes care all post types (that are not 'attachment', 'revision', 'acf-field', 'acf-field-group', 'nav_menu_item', 'polylang_mo')
- Image translations are linked automatically
- You can add your own custom fields that have image IDs
- Uses Polylang's functions, no messing around
This is open source and I cannot give you any guarantees, though it has worked for me in many projects. Please, report issues and contribute!
Installation
How-to use (takes around 5 minutes):
- Take a backup of your database
- Download plugin and activate (you will need Polylang active)
- Enable Media translations in Polylang Settings
- Set all content without language to default language from "Languages" admin page
- Click "1. Translate the whole media library" from the admin notice
- Click through steps (50 posts at a time). Each step will take some time.
- Click "2. Translate existing images in content" from the admin notice
- Click through steps (50 posts at a time). Each step will take some time.
- Deactivate and delete plugin when you have gone through all the steps
Composer:
$ composer aucor/polylang-translate-existing-media
With composer.json:
{
"require": {
"aucor/polylang-translate-existing-media": "*"
},
"extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
}
}
}
Filters
Add your own custom fields that have images saved as IDs:
function prefix_custom_fields_to_translate($custom_fields) {
// return keys of your custom fields with image id
return array(
'my_custom_image_field',
'other_custom_image_field'
);
}
add_filter( 'polylang-translate-existing-media-custom-fields-with-image-id', 'prefix_custom_fields_to_translate' );
Issues and feature whishlist
Issues:
(No known issues, yet)
To-do:
- Include terms and their custom fields
- Replacing count might be off, make it more informative
Changelog
0.2.2
- PHP 7.2. compatibility
0.2
- New Feature: Translate whole media library
- New Feature: API for custom_fields that save the image as ID
- New Feature: Add filter to excluded post types
polylang-translate-existing-media-skip-post-types - Improvement: Include all post_status
- Bugfix: Don't copy featured image, just translate the existing one
Releases
3 releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.