WC_Template_Loader
in package
Template loader class.
Table of Contents
- $in_content_filter : bool
- Store whether we're processing a product inside the_content filter.
- $shop_page_id : int
- Store the shop page ID.
- $theme_support : bool
- Is WooCommerce support defined?
- comments_template_loader() : string
- Load comments template.
- force_single_template_filter() : string
- Force the loading of one of the single templates instead of whatever template was about to be loaded.
- in_content_filter() : bool
- Are we filtering content for unsupported themes?
- init() : mixed
- Hook in methods.
- template_loader() : string
- Load a template.
- unsupported_archive_layered_nav_compatibility() : array<string|int, mixed>
- Add layered nav args to WP_Query args generated by the 'products' shortcode.
- unsupported_theme_comments_number_filter() : string
- Suppress the comments number on the Shop page for unsupported themes since there is no commenting on the Shop page.
- unsupported_theme_init() : mixed
- Hook in methods to enhance the unsupported theme experience on pages.
- unsupported_theme_product_content_filter() : string
- Filter the content and insert WooCommerce content on the shop page.
- unsupported_theme_remove_review_tab() : array<string|int, mixed>
- Remove the Review tab and just use the regular comment form.
- unsupported_theme_shop_content_filter() : string
- Filter the content and insert WooCommerce content on the shop page.
- unsupported_theme_single_featured_image_filter() : string
- Prevent the main featured image on product pages because there will be another featured image in the gallery.
- unsupported_theme_title_filter() : string
- Filter the title and insert WooCommerce content on the shop page.
- add_support_for_product_page_gallery() : mixed
- Add theme support for Product page gallery.
- get_current_shop_view_args() : array<string|int, mixed>
- Get information about the current shop page view.
- get_template_loader_default_file() : string
- Get the default filename for a template except if a block template with the same name exists.
- get_template_loader_files() : array<string|int, string>
- Get an array of filenames to search for a given template.
- has_block_template() : bool
- Checks whether a block template with that name exists.
- taxonomy_has_block_template() : bool
- Checks whether a block template for a given taxonomy exists.
- unsupported_theme_product_page_init() : mixed
- Hook in methods to enhance the unsupported theme experience on Product pages.
- unsupported_theme_shop_page_init() : mixed
- Hook in methods to enhance the unsupported theme experience on the Shop page.
- unsupported_theme_tax_archive_init() : mixed
- Enhance the unsupported theme experience on Product Category and Attribute pages by rendering those pages using the single template and shortcode-based content. To do this we make a dummy post and set a shortcode as the post content. This approach is adapted from bbPress.
Properties
$in_content_filter
Store whether we're processing a product inside the_content filter.
private
static bool
$in_content_filter
= alse
$shop_page_id
Store the shop page ID.
private
static int
$shop_page_id
= 0
$theme_support
Is WooCommerce support defined?
private
static bool
$theme_support
= alse
Methods
comments_template_loader()
Load comments template.
public
static comments_template_loader(string $template) : string
Parameters
- $template : string
-
template to load.
Return values
string —force_single_template_filter()
Force the loading of one of the single templates instead of whatever template was about to be loaded.
public
static force_single_template_filter(string $template) : string
Parameters
- $template : string
-
Path to template.
Tags
Return values
string —in_content_filter()
Are we filtering content for unsupported themes?
public
static in_content_filter() : bool
Tags
Return values
bool —init()
Hook in methods.
public
static init() : mixed
Return values
mixed —template_loader()
Load a template.
public
static template_loader(string $template) : string
Handles template usage so that we can use our own templates instead of the theme's.
Templates are in the 'templates' folder. WooCommerce looks for theme overrides in /theme/woocommerce/ by default.
For beginners, it also looks for a woocommerce.php template first. If the user adds this to the theme (containing a woocommerce() inside) this will be used for all WooCommerce templates.
Parameters
- $template : string
-
Template to load.
Return values
string —unsupported_archive_layered_nav_compatibility()
Add layered nav args to WP_Query args generated by the 'products' shortcode.
public
static unsupported_archive_layered_nav_compatibility(array<string|int, mixed> $query) : array<string|int, mixed>
Parameters
- $query : array<string|int, mixed>
-
WP_Query args.
Tags
Return values
array<string|int, mixed> —unsupported_theme_comments_number_filter()
Suppress the comments number on the Shop page for unsupported themes since there is no commenting on the Shop page.
public
static unsupported_theme_comments_number_filter(string $comments_number) : string
Parameters
- $comments_number : string
-
The comments number text.
Tags
Return values
string —unsupported_theme_init()
Hook in methods to enhance the unsupported theme experience on pages.
public
static unsupported_theme_init() : mixed
Tags
Return values
mixed —unsupported_theme_product_content_filter()
Filter the content and insert WooCommerce content on the shop page.
public
static unsupported_theme_product_content_filter(string $content) : string
For non-WC themes, this will setup the main shop page to be shortcode based to improve default appearance.
Parameters
- $content : string
-
Existing post content.
Tags
Return values
string —unsupported_theme_remove_review_tab()
Remove the Review tab and just use the regular comment form.
public
static unsupported_theme_remove_review_tab(array<string|int, mixed> $tabs) : array<string|int, mixed>
Parameters
- $tabs : array<string|int, mixed>
-
Tab info.
Return values
array<string|int, mixed> —unsupported_theme_shop_content_filter()
Filter the content and insert WooCommerce content on the shop page.
public
static unsupported_theme_shop_content_filter(string $content) : string
For non-WC themes, this will setup the main shop page to be shortcode based to improve default appearance.
Parameters
- $content : string
-
Existing post content.
Tags
Return values
string —unsupported_theme_single_featured_image_filter()
Prevent the main featured image on product pages because there will be another featured image in the gallery.
public
static unsupported_theme_single_featured_image_filter(string $html) : string
Parameters
- $html : string
-
Img element HTML.
Tags
Return values
string —unsupported_theme_title_filter()
Filter the title and insert WooCommerce content on the shop page.
public
static unsupported_theme_title_filter(string $title, int $id) : string
For non-WC themes, this will setup the main shop page to be shortcode based to improve default appearance.
Parameters
- $title : string
-
Existing title.
- $id : int
-
ID of the post being filtered.
Tags
Return values
string —add_support_for_product_page_gallery()
Add theme support for Product page gallery.
private
static add_support_for_product_page_gallery() : mixed
Tags
Return values
mixed —get_current_shop_view_args()
Get information about the current shop page view.
private
static get_current_shop_view_args() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —get_template_loader_default_file()
Get the default filename for a template except if a block template with the same name exists.
private
static get_template_loader_default_file() : string
Tags
Return values
string —get_template_loader_files()
Get an array of filenames to search for a given template.
private
static get_template_loader_files(string $default_file) : array<string|int, string>
Parameters
- $default_file : string
-
The default file name.
Tags
Return values
array<string|int, string> —has_block_template()
Checks whether a block template with that name exists.
private
static has_block_template(string $template_name) : bool
**Note: ** This checks both the templates
and block-templates
directories
as both conventions should be supported.
Parameters
- $template_name : string
-
Template to check.
Tags
Return values
bool —taxonomy_has_block_template()
Checks whether a block template for a given taxonomy exists.
private
static taxonomy_has_block_template(object $taxonomy) : bool
Note: This checks both the templates
and block-templates
directories
as both conventions should be supported.
Parameters
- $taxonomy : object
-
Object taxonomy to check.
Return values
bool —unsupported_theme_product_page_init()
Hook in methods to enhance the unsupported theme experience on Product pages.
private
static unsupported_theme_product_page_init() : mixed
Tags
Return values
mixed —unsupported_theme_shop_page_init()
Hook in methods to enhance the unsupported theme experience on the Shop page.
private
static unsupported_theme_shop_page_init() : mixed
Tags
Return values
mixed —unsupported_theme_tax_archive_init()
Enhance the unsupported theme experience on Product Category and Attribute pages by rendering those pages using the single template and shortcode-based content. To do this we make a dummy post and set a shortcode as the post content. This approach is adapted from bbPress.
private
static unsupported_theme_tax_archive_init() : mixed