* Given a provided context, returns whether the context refers to header content. * * @param array|\WP_Post|\WP_Block_Template $context Where the block is embedded. * @param string $area The area to check against before inserting. * @since 8.5.0 * @return boolean */ protected function is_template_part_or_pattern( $context, $area ) { $is_pattern = is_array( $context ) && ( ( isset( $context['blockTypes'] ) && in_array( 'core/template-part/' . $area, $context['blockTypes'], true ) ) || ( isset( $context['categories'] ) && in_array( $area, $context['categories'], true ) ) ); $is_template_part = $context instanceof \WP_Block_Template && $area === $context->area; return ( $is_pattern || $is_template_part ); } /** * Given a provided context, returns whether the context refers to the target area and isn't marked as excluded. * * @param array|\WP_Post|\WP_Block_Template $context the context to check. * @param string $area The area to check against before inserting. * @since 8.5.0 * @return boolean */ protected function is_target_area( $context, $area ) { if ( $this->is_template_part_or_pattern( $context, $area ) && ! $this->pattern_is_excluded( $context ) ) { return true; } return false; } /** * Returns whether the pattern is excluded or not * * @since 8.5.0 * * @param array|\WP_Block_Template $context Where the block is embedded. * @return boolean */ protected function pattern_is_excluded( $context ) { /** * A list of pattern slugs to exclude from auto-insert (useful when there are patterns that have a very specific location for the block) * Note: The patterns that are currently excluded are the ones that don't work well with the mini-cart block or customer-account block. * * @since 8.5.0 */ $pattern_exclude_list = apply_filters( 'woocommerce_hooked_blocks_pattern_exclude_list', array_unique( array_merge( isset( $this->hooked_block_excluded_patterns ) ? $this->hooked_block_excluded_patterns : array(), array( 'twentytwentytwo/header-centered-logo', 'twentytwentytwo/header-stacked' ) ) ) ); $pattern_slug = is_array( $context ) && isset( $context['slug'] ) ? $context['slug'] : ''; if ( ! $pattern_slug ) { /** * Woo patterns have a slug property in $context, but core/theme patterns dont. * In that case, we fallback to the name property, as they're the same. */ $pattern_slug = is_array( $context ) && isset( $context['name'] ) ? $context['name'] : ''; } return in_array( $pattern_slug, $pattern_exclude_list, true ); } }
Fatal error: Trait "Automattic\WooCommerce\Blocks\Utils\BlockHooksTrait" not found in /htdocs/wp-content/plugins/woocommerce/src/Blocks/BlockTypes/CustomerAccount.php on line 11