LLMS_Template_Loader::block_template_loader( WP_Block_Template[] $result, array $query, array $template_type )
Filter blocks templates.
Parameters Parameters
- $result
-
(WP_Block_Template[]) (Required) Array of found block templates.
- $query
-
(array) (Optional) Arguments to retrieve templates.
- 'slug__in'
(array) List of slugs to include. - 'wp_id'
(int) Post ID of customized template.
- 'slug__in'
- $template_type
-
(array) (Optional) wp_template or wp_template_part.
Return Return
(array) Templates.
Source Source
File: includes/class.llms.template.loader.php
* @return array Templates.
*/
public function block_template_loader( $result, $query, $template_type ) {
// Bail if it's not a block theme, or is being retrieved a non wp_template file.
if ( ! llms_is_block_theme() || 'wp_template' !== $template_type ) {
return $result;
}
$template_name = $this->get_maybe_forced_template();
/**
* Since LifterLMS 6.0.0 certificates have their own PHP template that do no depend on the theme.
* This means that we can use the PHP template loaded in the method `LLMS_Template_Loader::template_loader()` below.
*/
$template_name = is_singular( array( 'llms_certificate', 'llms_my_certificate' ) ) ? '' : $template_name;
/**
* Filters the block template to be loded forced.
*
* @since 5.8.0
*
* @param string $template_slug The template slug to be force loaded.
* @param string $template The name of template to be force loaded.
*/
$template_slug = apply_filters( 'llms_forced_block_template_slug', $template_name ? LLMS_Block_Templates::LLMS_BLOCK_TEMPLATES_PREFIX . $template_name : '', $template_name );
if ( empty( $template_slug ) ) {
return $result;
}
// Prevent template_loader to load a php template.
add_filter( 'llms_force_php_template_loading', '__return_false' );
return llms()->block_templates()->add_llms_block_templates(
array(),
array( 'slug__in' => array( $template_slug ) )
);
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 6.0.0 | Remove LifterLMS 6.0 version check about the certificate template. Use llms_is_block_theme() in favor of wp_is_block_theme(). |
| 5.8.0 | Introduced. |