PHP 8.2.31
Preview: post-template.php Size: 4.06 KB
/home/nshryvcy/himaltourism.com/wp-includes/blocks/post-template.php

<?php
/**
 * Server-side rendering of the `core/post-template` block.
 *
 * @package WordPress
 */

/**
 * Determines whether a block list contains a block that uses the featured image.
 *
 * @param WP_Block_List $inner_blocks Inner block instance.
 *
 * @return bool Whether the block list contains a block that uses the featured image.
 */
function block_core_post_template_uses_featured_image( $inner_blocks ) {
	foreach ( $inner_blocks as $block ) {
		if ( 'core/post-featured-image' === $block->name ) {
			return true;
		}
		if (
			'core/cover' === $block->name &&
			! empty( $block->attributes['useFeaturedImage'] )
		) {
			return true;
		}
		if ( $block->inner_blocks && block_core_post_template_uses_featured_image( $block->inner_blocks ) ) {
			return true;
		}
	}

	return false;
}

/**
 * Renders the `core/post-template` block on the server.
 *
 * @param array    $attributes Block attributes.
 * @param string   $content    Block default content.
 * @param WP_Block $block      Block instance.
 *
 * @return string Returns the output of the query, structured using the layout defined by the block's inner blocks.
 */
function render_block_core_post_template( $attributes, $content, $block ) {
	$page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
	$page     = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ];

	// Use global query if needed.
	$use_global_query = ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] );
	if ( $use_global_query ) {
		global $wp_query;
		$query = clone $wp_query;
	} else {
		$query_args = build_query_vars_from_query_block( $block, $page );
		$query      = new WP_Query( $query_args );
	}

	if ( ! $query->have_posts() ) {
		return '';
	}

	if ( block_core_post_template_uses_featured_image( $block->inner_blocks ) ) {
		update_post_thumbnail_cache( $query );
	}

	$classnames = '';
	if ( isset( $block->context['displayLayout'] ) && isset( $block->context['query'] ) ) {
		if ( isset( $block->context['displayLayout']['type'] ) && 'flex' === $block->context['displayLayout']['type'] ) {
			$classnames = "is-flex-container columns-{$block->context['displayLayout']['columns']}";
		}
	}
	if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
		$classnames .= ' has-link-color';
	}

	$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => trim( $classnames ) ) );

	$content = '';
	while ( $query->have_posts() ) {
		$query->the_post();

		// Get an instance of the current Post Template block.
		$block_instance = $block->parsed_block;

		// Set the block name to one that does not correspond to an existing registered block.
		// This ensures that for the inner instances of the Post Template block, we do not render any block supports.
		$block_instance['blockName'] = 'core/null';

		// Render the inner blocks of the Post Template block with `dynamic` set to `false` to prevent calling
		// `render_callback` and ensure that no wrapper markup is included.
		$block_content = (
			new WP_Block(
				$block_instance,
				array(
					'postType' => get_post_type(),
					'postId'   => get_the_ID(),
				)
			)
		)->render( array( 'dynamic' => false ) );

		// Wrap the render inner blocks in a `li` element with the appropriate post classes.
		$post_classes = implode( ' ', get_post_class( 'wp-block-post' ) );
		$content     .= '<li class="' . esc_attr( $post_classes ) . '">' . $block_content . '</li>';
	}

	/*
	 * Use this function to restore the context of the template tags
	 * from a secondary query loop back to the main query loop.
	 * Since we use two custom loops, it's safest to always restore.
	*/
	wp_reset_postdata();

	return sprintf(
		'<ul %1$s>%2$s</ul>',
		$wrapper_attributes,
		$content
	);
}

/**
 * Registers the `core/post-template` block on the server.
 */
function register_block_core_post_template() {
	register_block_type_from_metadata(
		__DIR__ . '/post-template',
		array(
			'render_callback'   => 'render_block_core_post_template',
			'skip_inner_blocks' => true,
		)
	);
}
add_action( 'init', 'register_block_core_post_template' );

Directory Contents

Dirs: 91 × Files: 68

Name Size Perms Modified Actions
archives DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
audio DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
avatar DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
block DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
button DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
buttons DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
calendar DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
code DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
column DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
columns DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
comments DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
cover DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
embed DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
file DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
freeform DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
gallery DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
group DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
heading DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
home-link DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
html DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
image DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
list DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
list-item DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
loginout DIR
- drwxr-xr-x 2026-02-14 07:57:34
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
missing DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
more DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
nextpage DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
page-list DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2023-04-04 05:42:19
Edit Download
paragraph DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
pattern DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2023-04-04 05:42:19
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
post-date DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2023-04-04 05:42:19
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
pullquote DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
query DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
quote DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
read-more DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
rss DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
search DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
separator DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
shortcode DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
site-logo DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2023-04-04 05:42:19
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
spacer DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
table DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
tag-cloud DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
verse DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
video DIR
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
- drwxr-xr-x 2022-11-10 06:10:12
Edit Download
2.89 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
5.31 KB lrw-r--r-- 2024-12-30 06:23:12
Edit Download
1.57 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
110.42 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
6.03 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.78 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.05 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.36 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.56 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.64 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.99 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
3.58 KB lrw-r--r-- 2024-12-30 06:23:12
Edit Download
1.80 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
1.56 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
1.60 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
1.13 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.67 KB lrw-r--r-- 2022-09-21 02:13:30
Edit Download
6.50 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.43 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
115.69 KB lrw-r--r-- 2026-06-09 19:20:58
Edit Download
1.56 KB lrw-r--r-- 2022-09-21 02:13:30
Edit Download
4.85 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.23 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
4.74 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.26 KB lrw-r--r-- 2022-09-21 02:13:30
Edit Download
779 B lrw-r--r-- 2022-07-08 23:04:14
Edit Download
4.88 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
7.43 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
3.81 KB lrw-r--r-- 2022-10-19 00:26:02
Edit Download
1.35 KB lrw-r--r-- 2021-11-09 01:59:22
Edit Download
11.51 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
10.77 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
30.54 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
13.14 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
921 B lrw-r--r-- 2021-11-09 13:47:18
Edit Download
1.41 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
1.71 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.50 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.68 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.28 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.96 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.56 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
7.19 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
4.37 KB lrw-r--r-- 2024-12-30 06:23:12
Edit Download
4.06 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
3.21 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.81 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.76 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.66 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
3.73 KB lrw-r--r-- 2021-11-09 01:59:22
Edit Download
2.12 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
1.11 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.08 KB lrw-r--r-- 2022-09-21 02:13:30
Edit Download
304 B lrw-r--r-- 2021-05-20 01:39:28
Edit Download
1.75 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
3.74 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
543 B lrw-r--r-- 2023-04-04 05:42:19
Edit Download
3.83 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
19.94 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
697 B lrw-r--r-- 2020-06-27 00:03:48
Edit Download
5.67 KB lrw-r--r-- 2022-04-13 01:42:48
Edit Download
994 B lrw-r--r-- 2021-06-22 20:30:50
Edit Download
1.73 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
59.56 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
1.37 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
9.43 KB lrw-r--r-- 2024-12-30 06:23:12
Edit Download
1.27 KB lrw-r--r-- 2023-04-04 05:42:19
Edit Download
2.12 KB lrw-r--r-- 2022-10-19 00:26:02
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).