Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/woocomme.../src/Blocks/Template...
File: AbstractTemplateWithFallback.php
<?php
[0] Fix | Delete
declare( strict_types=1 );
[1] Fix | Delete
namespace Automattic\WooCommerce\Blocks\Templates;
[2] Fix | Delete
[3] Fix | Delete
use Automattic\WooCommerce\Blocks\Utils\BlockTemplateUtils;
[4] Fix | Delete
[5] Fix | Delete
/**
[6] Fix | Delete
* AbstractTemplateWithFallback class.
[7] Fix | Delete
*
[8] Fix | Delete
* Shared logic for templates with fallbacks.
[9] Fix | Delete
*
[10] Fix | Delete
* @internal
[11] Fix | Delete
*/
[12] Fix | Delete
abstract class AbstractTemplateWithFallback extends AbstractTemplate {
[13] Fix | Delete
/**
[14] Fix | Delete
* The fallback template to render if the existing template is not available.
[15] Fix | Delete
*
[16] Fix | Delete
* @var string
[17] Fix | Delete
*/
[18] Fix | Delete
public string $fallback_template;
[19] Fix | Delete
[20] Fix | Delete
/**
[21] Fix | Delete
* Initialization method.
[22] Fix | Delete
*/
[23] Fix | Delete
public function init() {
[24] Fix | Delete
add_filter( 'taxonomy_template_hierarchy', array( $this, 'template_hierarchy' ), 1 );
[25] Fix | Delete
add_action( 'template_redirect', array( $this, 'render_block_template' ) );
[26] Fix | Delete
}
[27] Fix | Delete
[28] Fix | Delete
/**
[29] Fix | Delete
* Add the fallback template to the hierarchy, right after the current template.
[30] Fix | Delete
*
[31] Fix | Delete
* @param array $templates Templates that match the taxonomy_template_hierarchy.
[32] Fix | Delete
*/
[33] Fix | Delete
public function template_hierarchy( $templates ) {
[34] Fix | Delete
$index = array_search( static::SLUG, $templates, true );
[35] Fix | Delete
if ( false === $index ) {
[36] Fix | Delete
$index = array_search( static::SLUG . '.php', $templates, true );
[37] Fix | Delete
}
[38] Fix | Delete
[39] Fix | Delete
if (
[40] Fix | Delete
false !== $index && (
[41] Fix | Delete
! array_key_exists( $index + 1, $templates ) || $templates[ $index + 1 ] !== $this->fallback_template
[42] Fix | Delete
) ) {
[43] Fix | Delete
array_splice( $templates, $index + 1, 0, $this->fallback_template );
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
return $templates;
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
/**
[50] Fix | Delete
* Render the block template.
[51] Fix | Delete
*/
[52] Fix | Delete
abstract public function render_block_template();
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function