Custom post types and custom fields are essential for advanced WordPress websites. Whether you are building a multilingual directory, LMS, real-estate portal, event system, membership platform, or corporate website, chances are you rely on structured content beyond default posts and pages.
Translating this content correctly is critical for consistency, user experience, and SEO. However, custom post types and custom fields introduce complexities that require proper setup and workflow.
This guide explains how to translate custom post types and custom fields in WordPress using the most common multilingual tools and best practices.
Why Translating Custom Post Types Matters
Many WordPress sites rely on custom post types to manage important content, such as:
- Courses
- Events
- Products
- Testimonials
- Portfolios
- Real estate listings
- Team members
- Case studies
- FAQs
- Documentation
Custom fields store additional data for those post types, including:
- Prices and currencies
- Addresses
- Dates and schedules
- Buttons and call-to-actions
- Short descriptions and highlights
- Technical specifications
- Metadata and SEO fields
If this information remains untranslated, the multilingual experience breaks. It can also harm your search performance and user trust.
Before You Translate: Key Requirements
Ensure these are set up before translating:
- All custom post types are registered properly
- Custom fields are created with a supported system (ACF, Meta Box, Toolset, etc.)
- Your multilingual plugin is activated and configured
- URL structure for each language is defined
- SEO plugin compatibility is confirmed
Failing to configure post type translation rules early can result in duplicated work and inconsistent content.
Choosing the Right Multilingual Plugin
The plugin you use determines how you translate and sync custom post types and fields.
| Plugin | Custom Post Types Support | Custom Fields Support |
|---|---|---|
| WPML | Full support + field translation config | Yes, with ACF integration |
| Polylang | Strong support | Requires configuration |
| TranslatePress | Visual translation, field detection | Dynamic content support |
| Weglot | Automatic detection and translation | Dynamic content support |
For complex CMS-style WordPress builds, WPML or Polylang offer the most control.
For simpler or SaaS-style workflows, TranslatePress or Weglot work well.
How to Translate Custom Post Types in WPML
Step 1: Enable Post Type Translation
Go to
WPML > Settings > Post Types Translation
Choose one:
- Translatable – only show translated items
- Translatable – use translation if available, fallback if not
- Not translatable
Recommended: “Translatable – only show translated items”
Step 2: Translate Taxonomies
Go to
WPML > Settings > Taxonomies Translation
Enable translation for related taxonomies such as categories, tags, or custom taxonomies.
Step 3: Translate Content
For each post, select “+” next to the language to create a translation.
How to Translate Custom Fields in WPML
Go to
WPML > Settings > Custom Fields Translation
Choose one for each field:
- Translate
- Copy
- Don’t translate
Guideline:
| Field Type | Setting |
|---|---|
| Text content | Translate |
| Prices, IDs, metadata | Copy |
| Conditional fields | Copy |
| SEO fields | Translate |
If using ACF, install the ACFML extension for full compatibility.
How to Translate Custom Post Types in Polylang
Step 1: Enable Post Type Translation
Go to
Languages > Settings > Custom Post Types and Taxonomies
Enable the types you want translated.
Step 2: Sync taxonomies and metadata
Use Polylang Pro to synchronize metadata between language posts.
Step 3: Create translations
Edit any custom post and assign language versions manually.
How to Translate Custom Fields in Polylang
Polylang does not translate custom fields automatically. Options:
- Enter translated values manually
- Use custom code to synchronize or assign translated values
- Pair with ACF + Polylang add-on
Polylang Pro adds metadata synchronization features.
TranslatePress and Weglot Workflow
TranslatePress
Works visually from the front-end, detecting custom content automatically.
Enable dynamic field support when content comes from shortcodes or theme functions.
Weglot
Automatically detects custom field content.
Use exclusion rules for non-translatable metadata or IDs.
Best Practices for Translating Custom Fields
| Recommendation | Reason |
|---|---|
| Define translation rules before publishing | Saves time and preserves structure |
| Translate field groups and labels | Improves editor usability |
| Use language-specific media when needed | Tailors user experience |
| Translate slugs where plugin supports it | Improves SEO competitiveness |
| Avoid duplicating irrelevant fields | Keeps UI clean |
| Document your data model | Prevents confusion for editors |
Troubleshooting Common Issues
| Issue | Solution |
|---|---|
| Custom fields not showing for translation | Enable translation in plugin settings |
| Incorrect language fallback | Adjust translation mode |
| Fields duplicating incorrectly | Review copy vs translate rules |
| SEO fields not updating | Sync with multilingual SEO plugin settings |
| Page builder fields missing | Enable dynamic content translation |
Final Thoughts
Translating custom post types and custom fields correctly allows you to deliver a complete and consistent multilingual experience in WordPress. Proper configuration ensures:
- Structured content remains intact
- SEO signals stay correct across languages
- Users receive complete localized content
- Editors manage translations efficiently
- Your site scales internationally without breaking
Invest the time to configure translation rules early and choose the plugin that fits your site’s complexity.