By default, the configurator theme is set for the whole website. It is however possible to programatically override the selected theme by using the mkl/pc/theme_id filter.
Example:
add_filter( 'mkl/pc/theme_id', function( $default ) {
// Maybe override the theme ID
if ( $something_is_true ) {
return 'other_theme_id';
}
// Return the default one otherwise
return $default;
} );You can for example set this to use the current post’s custom fields in order to override the theme:
add_filter( 'mkl/pc/theme_id', function( $default ) {
global $post;
// Check if there is a global post
if ( ! is_a( $post, 'WP_Post' ) ) return $default;
// Get the theme ID stored in the 'mkl_custom_page_theme' post meta
if ( get_post_meta( $post->ID, 'mkl_custom_page_theme', true ) ) return get_post_meta( $post->ID, 'mkl_custom_page_theme', true );
// Fallback to the main theme
return $default;
} );You can then use this custom field in the product:
