Waiting for author
Overview of the issue
When using Virtue theme with WPML, the translated single portfolio displays a 404 page instead of the expected content, even after translating the slug in String Translation.
Workaround
Be sure to make a full backup of your site before proceeding.
- Open your theme’s functions.php file
- Add this snippet:
add_filter( 'register_post_type_args', 'virtue_portfolio_args', 10, 2 ); function virtue_portfolio_args( $args, $post_type ){ if ( $post_type !== 'portfolio' ) { return $args; } $virtue_premium = virtue_premium_get_options(); if ( ! empty( $virtue_premium['portfolio_permalink'] ) ) { $port_rewrite = $virtue_premium['portfolio_permalink']; } else { $port_rewrite = 'portfolio'; } $args['has_archive'] = true; $args['rewrite'] = array('slug' => $port_rewrite); return $args; }
- Go to Theme Options → Portfolio Options → Portfolio Permalink Base and set a custom post type slug.
- Go to WPML → String Translation, search for the slug and translate it. It should be under the [virtue_premium]portfolio_permalink string name.
- Go to WPML → Settings → Post Type Translation and translate the portfolio post type slug with the exact translation that you added for the [virtue_premium]portfolio_permalink string.
- Go to Settings → Permalinks and save.