WooCommerce переопределить шаблон одного товара

Столкнулся с задачей переопределить шаблон только у одного товара.

Зная, что у Wordpress есть иерархическая загрузка шаблона по типу, идентификатору, slug и т.п. Решил "приделать" подобное к WooCommerce.

Собрал "сырцы".

Главный

add_filter( 'template_include', 'custom_single_product_template_include', 99, 1 );

function custom_single_product_template_include( $template ) {
     if ( is_singular('product')  && (get_the_ID()==11)) {
           $template = get_stylesheet_directory() . '/woocommerce/single-product-11.php';
     } 
     return $template;
}

Из кодекса для получения данных

function add_posttype_slug_template( $single_template ) {
    $object                            = get_queried_object();
    $single_posttype_postname_template = locate_template( "single-{$object->post_type}-{$object->post_name}.php" );

    if ( file_exists( $single_posttype_postname_template ) ) {
        return $single_posttype_postname_template;
    } else {
        return $single_template;
    }
}
add_filter( 'single_template', 'add_postType_slug_template', 10, 1 );

И еще возможно где-то применить

function get_custom_post_type_template($single_template) {
 global $post;

 if ($post->post_type == 'product') {
      $single_template = dirname( __FILE__ ) . '/single-template.php';
 }
 return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

Заметили ошибку, можете подсказать еще что-то? - Обращаемся сюда

Примеры работ

Информация