home
/
aioutajg
/
8171bispupdate.com
/
wp-includes
/
blocks
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] archives
N/A
[DIR] audio
N/A
[DIR] avatar
N/A
[DIR] block
N/A
[DIR] button
N/A
[DIR] buttons
N/A
[DIR] calendar
N/A
[DIR] categories
N/A
[DIR] code
N/A
[DIR] column
N/A
[DIR] columns
N/A
[DIR] comment-author-name
N/A
[DIR] comment-content
N/A
[DIR] comment-date
N/A
[DIR] comment-edit-link
N/A
[DIR] comment-reply-link
N/A
[DIR] comment-template
N/A
[DIR] comments
N/A
[DIR] comments-pagination
N/A
[DIR] comments-pagination-next
N/A
[DIR] comments-pagination-numbers
N/A
[DIR] comments-pagination-previous
N/A
[DIR] comments-title
N/A
[DIR] cover
N/A
[DIR] details
N/A
[DIR] embed
N/A
[DIR] file
N/A
[DIR] footnotes
N/A
[DIR] freeform
N/A
[DIR] gallery
N/A
[DIR] group
N/A
[DIR] heading
N/A
[DIR] home-link
N/A
[DIR] html
N/A
[DIR] image
N/A
[DIR] latest-comments
N/A
[DIR] latest-posts
N/A
[DIR] legacy-widget
N/A
[DIR] list
N/A
[DIR] list-item
N/A
[DIR] loginout
N/A
[DIR] media-text
N/A
[DIR] missing
N/A
[DIR] more
N/A
[DIR] navigation
N/A
[DIR] navigation-link
N/A
[DIR] navigation-submenu
N/A
[DIR] nextpage
N/A
[DIR] page-list
N/A
[DIR] page-list-item
N/A
[DIR] paragraph
N/A
[DIR] pattern
N/A
[DIR] post-author
N/A
[DIR] post-author-biography
N/A
[DIR] post-author-name
N/A
[DIR] post-comments-form
N/A
[DIR] post-content
N/A
[DIR] post-date
N/A
[DIR] post-excerpt
N/A
[DIR] post-featured-image
N/A
[DIR] post-navigation-link
N/A
[DIR] post-template
N/A
[DIR] post-terms
N/A
[DIR] post-title
N/A
[DIR] preformatted
N/A
[DIR] pullquote
N/A
[DIR] query
N/A
[DIR] query-no-results
N/A
[DIR] query-pagination
N/A
[DIR] query-pagination-next
N/A
[DIR] query-pagination-numbers
N/A
[DIR] query-pagination-previous
N/A
[DIR] query-title
N/A
[DIR] query-total
N/A
[DIR] quote
N/A
[DIR] read-more
N/A
[DIR] rss
N/A
[DIR] search
N/A
[DIR] separator
N/A
[DIR] shortcode
N/A
[DIR] site-logo
N/A
[DIR] site-tagline
N/A
[DIR] site-title
N/A
[DIR] social-link
N/A
[DIR] social-links
N/A
[DIR] spacer
N/A
[DIR] table
N/A
[DIR] tag-cloud
N/A
[DIR] template-part
N/A
[DIR] term-description
N/A
[DIR] text-columns
N/A
[DIR] verse
N/A
[DIR] video
N/A
[DIR] widget-group
N/A
archives.php
2.92 KB
Rename
Delete
avatar.php
5.61 KB
Rename
Delete
block.php
3.24 KB
Rename
Delete
blocks-json.php
189.40 KB
Rename
Delete
button.php
1.76 KB
Rename
Delete
calendar.php
5.93 KB
Rename
Delete
categories.php
3.92 KB
Rename
Delete
comment-author-name.php
2.08 KB
Rename
Delete
comment-content.php
2.40 KB
Rename
Delete
comment-date.php
1.82 KB
Rename
Delete
comment-edit-link.php
1.67 KB
Rename
Delete
comment-reply-link.php
2.03 KB
Rename
Delete
comment-template.php
4.39 KB
Rename
Delete
comments-pagination-next.php
1.88 KB
Rename
Delete
comments-pagination-numbers.php
1.59 KB
Rename
Delete
comments-pagination-previous.php
1.75 KB
Rename
Delete
comments-pagination.php
1.17 KB
Rename
Delete
comments-title.php
2.71 KB
Rename
Delete
comments.php
6.61 KB
Rename
Delete
cover.php
3.10 KB
Rename
Delete
file.php
1.75 KB
Rename
Delete
footnotes.php
3.68 KB
Rename
Delete
gallery.php
6.29 KB
Rename
Delete
heading.php
1.27 KB
Rename
Delete
home-link.php
5.31 KB
Rename
Delete
image.php
11.74 KB
Rename
Delete
index.php
4.99 KB
Rename
Delete
latest-comments.php
4.92 KB
Rename
Delete
latest-posts.php
8.34 KB
Rename
Delete
legacy-widget.php
3.90 KB
Rename
Delete
list.php
1.24 KB
Rename
Delete
loginout.php
1.38 KB
Rename
Delete
media-text.php
4.28 KB
Rename
Delete
navigation-link.php
13.59 KB
Rename
Delete
navigation-submenu.php
9.71 KB
Rename
Delete
navigation.php
48.46 KB
Rename
Delete
page-list-item.php
361 bytes
Rename
Delete
page-list.php
13.29 KB
Rename
Delete
pattern.php
1.75 KB
Rename
Delete
post-author-biography.php
1.49 KB
Rename
Delete
post-author-name.php
1.87 KB
Rename
Delete
post-author.php
2.63 KB
Rename
Delete
post-comments-form.php
2.74 KB
Rename
Delete
post-content.php
2.11 KB
Rename
Delete
post-date.php
3.05 KB
Rename
Delete
post-excerpt.php
3.37 KB
Rename
Delete
post-featured-image.php
9.14 KB
Rename
Delete
post-navigation-link.php
4.72 KB
Rename
Delete
post-template.php
5.61 KB
Rename
Delete
post-terms.php
3.55 KB
Rename
Delete
post-title.php
2.09 KB
Rename
Delete
query-no-results.php
1.80 KB
Rename
Delete
query-pagination-next.php
3.70 KB
Rename
Delete
query-pagination-numbers.php
4.66 KB
Rename
Delete
query-pagination-previous.php
3.50 KB
Rename
Delete
query-pagination.php
1.15 KB
Rename
Delete
query-title.php
2.05 KB
Rename
Delete
query-total.php
2.48 KB
Rename
Delete
query.php
5.56 KB
Rename
Delete
read-more.php
1.79 KB
Rename
Delete
require-dynamic-blocks.php
4.07 KB
Rename
Delete
require-static-blocks.php
501 bytes
Rename
Delete
rss.php
3.98 KB
Rename
Delete
search.php
22.48 KB
Rename
Delete
shortcode.php
735 bytes
Rename
Delete
site-logo.php
6.19 KB
Rename
Delete
site-tagline.php
1.17 KB
Rename
Delete
site-title.php
1.81 KB
Rename
Delete
social-link.php
63.65 KB
Rename
Delete
tag-cloud.php
1.55 KB
Rename
Delete
template-part.php
9.92 KB
Rename
Delete
term-description.php
1.30 KB
Rename
Delete
widget-group.php
2.38 KB
Rename
Delete
<?php /** * Server-side rendering of the `core/latest-posts` block. * * @package WordPress */ /** * The excerpt length set by the Latest Posts core block * set at render time and used by the block itself. * * @var int */ global $block_core_latest_posts_excerpt_length; $block_core_latest_posts_excerpt_length = 0; /** * Callback for the excerpt_length filter used by * the Latest Posts block at render time. * * @since 5.4.0 * * @return int Returns the global $block_core_latest_posts_excerpt_length variable * to allow the excerpt_length filter respect the Latest Block setting. */ function block_core_latest_posts_get_excerpt_length() { global $block_core_latest_posts_excerpt_length; return $block_core_latest_posts_excerpt_length; } /** * Renders the `core/latest-posts` block on server. * * @since 5.0.0 * * @param array $attributes The block attributes. * * @return string Returns the post content with latest posts added. */ function render_block_core_latest_posts( $attributes ) { global $post, $block_core_latest_posts_excerpt_length; $args = array( 'posts_per_page' => $attributes['postsToShow'], 'post_status' => 'publish', 'order' => $attributes['order'], 'orderby' => $attributes['orderBy'], 'ignore_sticky_posts' => true, 'no_found_rows' => true, ); $block_core_latest_posts_excerpt_length = $attributes['excerptLength']; add_filter( 'excerpt_length', 'block_core_latest_posts_get_excerpt_length', 20 ); if ( ! empty( $attributes['categories'] ) ) { $args['category__in'] = array_column( $attributes['categories'], 'id' ); } if ( isset( $attributes['selectedAuthor'] ) ) { $args['author'] = $attributes['selectedAuthor']; } $query = new WP_Query(); $recent_posts = $query->query( $args ); if ( isset( $attributes['displayFeaturedImage'] ) && $attributes['displayFeaturedImage'] ) { update_post_thumbnail_cache( $query ); } $list_items_markup = ''; foreach ( $recent_posts as $post ) { $post_link = esc_url( get_permalink( $post ) ); $title = get_the_title( $post ); if ( ! $title ) { $title = __( '(no title)' ); } $list_items_markup .= '<li>'; if ( $attributes['displayFeaturedImage'] && has_post_thumbnail( $post ) ) { $image_style = ''; if ( isset( $attributes['featuredImageSizeWidth'] ) ) { $image_style .= sprintf( 'max-width:%spx;', $attributes['featuredImageSizeWidth'] ); } if ( isset( $attributes['featuredImageSizeHeight'] ) ) { $image_style .= sprintf( 'max-height:%spx;', $attributes['featuredImageSizeHeight'] ); } $image_classes = 'wp-block-latest-posts__featured-image'; if ( isset( $attributes['featuredImageAlign'] ) ) { $image_classes .= ' align' . $attributes['featuredImageAlign']; } $featured_image = get_the_post_thumbnail( $post, $attributes['featuredImageSizeSlug'], array( 'style' => esc_attr( $image_style ), ) ); if ( $attributes['addLinkToFeaturedImage'] ) { $featured_image = sprintf( '<a href="%1$s" aria-label="%2$s">%3$s</a>', esc_url( $post_link ), esc_attr( $title ), $featured_image ); } $list_items_markup .= sprintf( '<div class="%1$s">%2$s</div>', esc_attr( $image_classes ), $featured_image ); } $list_items_markup .= sprintf( '<a class="wp-block-latest-posts__post-title" href="%1$s">%2$s</a>', esc_url( $post_link ), $title ); if ( isset( $attributes['displayAuthor'] ) && $attributes['displayAuthor'] ) { $author_display_name = get_the_author_meta( 'display_name', $post->post_author ); /* translators: byline. %s: author. */ $byline = sprintf( __( 'by %s' ), $author_display_name ); if ( ! empty( $author_display_name ) ) { $list_items_markup .= sprintf( '<div class="wp-block-latest-posts__post-author">%1$s</div>', $byline ); } } if ( isset( $attributes['displayPostDate'] ) && $attributes['displayPostDate'] ) { $list_items_markup .= sprintf( '<time datetime="%1$s" class="wp-block-latest-posts__post-date">%2$s</time>', esc_attr( get_the_date( 'c', $post ) ), get_the_date( '', $post ) ); } if ( isset( $attributes['displayPostContent'] ) && $attributes['displayPostContent'] && isset( $attributes['displayPostContentRadio'] ) && 'excerpt' === $attributes['displayPostContentRadio'] ) { $trimmed_excerpt = get_the_excerpt( $post ); /* * Adds a "Read more" link with screen reader text. * […] is the default excerpt ending from wp_trim_excerpt() in Core. */ if ( str_ends_with( $trimmed_excerpt, ' […]' ) ) { /** This filter is documented in wp-includes/formatting.php */ $excerpt_length = (int) apply_filters( 'excerpt_length', $block_core_latest_posts_excerpt_length ); if ( $excerpt_length <= $block_core_latest_posts_excerpt_length ) { $trimmed_excerpt = substr( $trimmed_excerpt, 0, -11 ); $trimmed_excerpt .= sprintf( /* translators: 1: A URL to a post, 2: Hidden accessibility text: Post title */ __( '… <a class="wp-block-latest-posts__read-more" href="%1$s" rel="noopener noreferrer">Read more<span class="screen-reader-text">: %2$s</span></a>' ), esc_url( $post_link ), esc_html( $title ) ); } } if ( post_password_required( $post ) ) { $trimmed_excerpt = __( 'This content is password protected.' ); } $list_items_markup .= sprintf( '<div class="wp-block-latest-posts__post-excerpt">%1$s</div>', $trimmed_excerpt ); } if ( isset( $attributes['displayPostContent'] ) && $attributes['displayPostContent'] && isset( $attributes['displayPostContentRadio'] ) && 'full_post' === $attributes['displayPostContentRadio'] ) { $post_content = html_entity_decode( $post->post_content, ENT_QUOTES, get_option( 'blog_charset' ) ); if ( post_password_required( $post ) ) { $post_content = __( 'This content is password protected.' ); } $list_items_markup .= sprintf( '<div class="wp-block-latest-posts__post-full-content">%1$s</div>', wp_kses_post( $post_content ) ); } $list_items_markup .= "</li>\n"; } remove_filter( 'excerpt_length', 'block_core_latest_posts_get_excerpt_length', 20 ); $classes = array( 'wp-block-latest-posts__list' ); if ( isset( $attributes['postLayout'] ) && 'grid' === $attributes['postLayout'] ) { $classes[] = 'is-grid'; } if ( isset( $attributes['columns'] ) && 'grid' === $attributes['postLayout'] ) { $classes[] = 'columns-' . $attributes['columns']; } if ( isset( $attributes['displayPostDate'] ) && $attributes['displayPostDate'] ) { $classes[] = 'has-dates'; } if ( isset( $attributes['displayAuthor'] ) && $attributes['displayAuthor'] ) { $classes[] = 'has-author'; } if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) { $classes[] = 'has-link-color'; } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) ); return sprintf( '<ul %1$s>%2$s</ul>', $wrapper_attributes, $list_items_markup ); } /** * Registers the `core/latest-posts` block on server. * * @since 5.0.0 */ function register_block_core_latest_posts() { register_block_type_from_metadata( __DIR__ . '/latest-posts', array( 'render_callback' => 'render_block_core_latest_posts', ) ); } add_action( 'init', 'register_block_core_latest_posts' ); /** * Handles outdated versions of the `core/latest-posts` block by converting * attribute `categories` from a numeric string to an array with key `id`. * * This is done to accommodate the changes introduced in #20781 that sought to * add support for multiple categories to the block. However, given that this * block is dynamic, the usual provisions for block migration are insufficient, * as they only act when a block is loaded in the editor. * * TODO: Remove when and if the bottom client-side deprecation for this block * is removed. * * @since 5.5.0 * * @param array $block A single parsed block object. * * @return array The migrated block object. */ function block_core_latest_posts_migrate_categories( $block ) { if ( 'core/latest-posts' === $block['blockName'] && ! empty( $block['attrs']['categories'] ) && is_string( $block['attrs']['categories'] ) ) { $block['attrs']['categories'] = array( array( 'id' => absint( $block['attrs']['categories'] ) ), ); } return $block; } add_filter( 'render_block_data', 'block_core_latest_posts_migrate_categories' );
Save