How to Translate WordPress Posts, Pages, and Custom Post Types With WPML
Translate every post, page, and custom post type on your WordPress site with WPML, the same way for every type. WordPress ships with Posts and Pages. Themes and plugins add their own – Products from WooCommerce, Events from event plugins, Listings, FAQs, Testimonials, anything. WPML translates them all the same way.
The Normal Way: Send From the Translation Dashboard
Open WPML > Translations. Every post, page, and custom-post-type entry that’s translatable on your site shows up there in its own section. Pick what you want translated, choose a method, and click Translate. Under Translate Everything Automatically, you don’t even need to do that. New posts and edits are picked up automatically.
This is the workflow most sites use because it scales. Filter to “all French translations that are out of date”, select 200 posts, and send them in one go. The cost (under Translate Everything Automatically with PTC) is calculated and shown before you commit.
Fine-Grained Control: From the Post Lists in WordPress
When you want to translate, edit, or review a single post (not a batch), the right place is the WordPress post list, not a Translations tab.
- Posts (
Posts > All Posts), Pages (Pages > All Pages), or any custom-post-type list. Each row has a Languages box. - The Languages box on an individual post’s edit screen shows the post’s translation state per language. Click the + icon for a language to translate that single item; click the pencil to edit an existing translation; click the eye to view it.
- The same Languages box is where you handle three operations that don’t fit a batch workflow:
- Delete a translation. Remove a translation in one language without touching the source post or the other languages.
- Link an already-translated page. When a separate post was created in the target language outside WPML, attach it as the translation of the source post.
- Disconnect translations from the source. Turn a translated post into a standalone post in its own language, no longer linked to the source.
What Makes a Post Type Translatable
If a post type isn’t set translatable, it won’t show up anywhere. Not in the Translation Dashboard, not in any other Translations tab, and the Languages box won’t appear on its edit screen. WPML treats it as content that has no translation flow.
To change that, open WPML > Settings > Post Types Translation. Each post type has three options:
- Translatable – only show translated items. The translation is independent of the source language; if a translation doesn’t exist for the language a visitor is viewing, the post is hidden.
- Translatable – use translation if available or fallback to default language. If the translation is missing, the source-language post shows instead.
- Not translatable. WPML ignores this post type. It won’t appear in Translations.
Posts and Pages come pre-set as translatable. Custom post types added by themes and plugins default to Not translatable. Flip the setting on Post Types Translation and the CPT immediately starts appearing in the Translation Dashboard.
CPT Not Showing Up?
If you’ve added a CPT and it isn’t showing up where you expect, the Post Types Translation setting is the first thing to check.
Written by Amir · Last updated July 1, 2026