Submit
Path:
~
/
home
/
contenidosenred
/
www
/
OD
/
wp-includes
/
blocks
/
File Content:
latest-comments.php
<?php /** * Server-side rendering of the `core/latest-comments` block. * * @package WordPress */ /** * Get the post title. * * The post title is fetched and if it is blank then a default string is * returned. * * Copied from `wp-admin/includes/template.php`, but we can't include that * file because: * * 1. It causes bugs with test fixture generation and strange Docker 255 error * codes. * 2. It's in the admin; ideally we *shouldn't* be including files from the * admin for a block's output. It's a very small/simple function as well, * so duplicating it isn't too terrible. * * @since 3.3.0 * * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post. * @return string The post title if set; "(no title)" if no title is set. */ function wp_latest_comments_draft_or_post_title( $post = 0 ) { $title = get_the_title( $post ); if ( empty( $title ) ) { $title = __( '(no title)' ); } return $title; } /** * Renders the `core/latest-comments` block on server. * * @since 5.1.0 * * @param array $attributes The block attributes. * * @return string Returns the post content with latest comments added. */ function render_block_core_latest_comments( $attributes = array() ) { $comments = get_comments( /** This filter is documented in wp-includes/widgets/class-wp-widget-recent-comments.php */ apply_filters( 'widget_comments_args', array( 'number' => $attributes['commentsToShow'], 'status' => 'approve', 'post_status' => 'publish', ), array() ) ); $list_items_markup = ''; if ( ! empty( $comments ) ) { // Prime the cache for associated posts. This is copied from \WP_Widget_Recent_Comments::widget(). $post_ids = array_unique( wp_list_pluck( $comments, 'comment_post_ID' ) ); _prime_post_caches( $post_ids, strpos( get_option( 'permalink_structure' ), '%category%' ), false ); foreach ( $comments as $comment ) { $list_items_markup .= '<li class="wp-block-latest-comments__comment">'; if ( $attributes['displayAvatar'] ) { $avatar = get_avatar( $comment, 48, '', '', array( 'class' => 'wp-block-latest-comments__comment-avatar', ) ); if ( $avatar ) { $list_items_markup .= $avatar; } } $list_items_markup .= '<article>'; $list_items_markup .= '<footer class="wp-block-latest-comments__comment-meta">'; $author_url = get_comment_author_url( $comment ); if ( empty( $author_url ) && ! empty( $comment->user_id ) ) { $author_url = get_author_posts_url( $comment->user_id ); } $author_markup = ''; if ( $author_url ) { $author_markup .= '<a class="wp-block-latest-comments__comment-author" href="' . esc_url( $author_url ) . '">' . get_comment_author( $comment ) . '</a>'; } else { $author_markup .= '<span class="wp-block-latest-comments__comment-author">' . get_comment_author( $comment ) . '</span>'; } // `_draft_or_post_title` calls `esc_html()` so we don't need to wrap that call in // `esc_html`. $post_title = '<a class="wp-block-latest-comments__comment-link" href="' . esc_url( get_comment_link( $comment ) ) . '">' . wp_latest_comments_draft_or_post_title( $comment->comment_post_ID ) . '</a>'; $list_items_markup .= sprintf( /* translators: 1: author name (inside <a> or <span> tag, based on if they have a URL), 2: post title related to this comment */ __( '%1$s on %2$s' ), $author_markup, $post_title ); if ( $attributes['displayDate'] ) { $list_items_markup .= sprintf( '<time datetime="%1$s" class="wp-block-latest-comments__comment-date">%2$s</time>', esc_attr( get_comment_date( 'c', $comment ) ), date_i18n( get_option( 'date_format' ), get_comment_date( 'U', $comment ) ) ); } $list_items_markup .= '</footer>'; if ( $attributes['displayExcerpt'] ) { $list_items_markup .= '<div class="wp-block-latest-comments__comment-excerpt">' . wpautop( get_comment_excerpt( $comment ) ) . '</div>'; } $list_items_markup .= '</article></li>'; } } $classnames = array(); if ( $attributes['displayAvatar'] ) { $classnames[] = 'has-avatars'; } if ( $attributes['displayDate'] ) { $classnames[] = 'has-dates'; } if ( $attributes['displayExcerpt'] ) { $classnames[] = 'has-excerpts'; } if ( empty( $comments ) ) { $classnames[] = 'no-comments'; } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classnames ) ) ); return ! empty( $comments ) ? sprintf( '<ol %1$s>%2$s</ol>', $wrapper_attributes, $list_items_markup ) : sprintf( '<div %1$s>%2$s</div>', $wrapper_attributes, __( 'No comments to show.' ) ); } /** * Registers the `core/latest-comments` block. * * @since 5.3.0 */ function register_block_core_latest_comments() { register_block_type_from_metadata( __DIR__ . '/latest-comments', array( 'render_callback' => 'render_block_core_latest_comments', ) ); } add_action( 'init', 'register_block_core_latest_comments' );
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
archives
---
0755
audio
---
0755
avatar
---
0755
block
---
0755
button
---
0755
buttons
---
0755
calendar
---
0755
categories
---
0755
code
---
0755
column
---
0755
columns
---
0755
comment-author-name
---
0755
comment-content
---
0755
comment-date
---
0755
comment-edit-link
---
0755
comment-reply-link
---
0755
comment-template
---
0755
comments
---
0755
comments-pagination
---
0755
comments-pagination-next
---
0755
comments-pagination-numbers
---
0755
comments-pagination-previous
---
0755
comments-title
---
0755
cover
---
0755
details
---
0755
embed
---
0755
file
---
0755
footnotes
---
0755
freeform
---
0755
gallery
---
0755
group
---
0755
heading
---
0755
home-link
---
0755
html
---
0755
image
---
0755
latest-comments
---
0755
latest-posts
---
0755
legacy-widget
---
0755
list
---
0755
list-item
---
0755
loginout
---
0755
media-text
---
0755
missing
---
0755
more
---
0755
navigation
---
0755
navigation-link
---
0755
navigation-submenu
---
0755
nextpage
---
0755
page-list
---
0755
page-list-item
---
0755
paragraph
---
0755
pattern
---
0755
post-author
---
0755
post-author-biography
---
0755
post-author-name
---
0755
post-comments-form
---
0755
post-content
---
0755
post-date
---
0755
post-excerpt
---
0755
post-featured-image
---
0755
post-navigation-link
---
0755
post-template
---
0755
post-terms
---
0755
post-title
---
0755
preformatted
---
0755
pullquote
---
0755
query
---
0755
query-no-results
---
0755
query-pagination
---
0755
query-pagination-next
---
0755
query-pagination-numbers
---
0755
query-pagination-previous
---
0755
query-title
---
0755
query-total
---
0755
quote
---
0755
read-more
---
0755
rss
---
0755
search
---
0755
separator
---
0755
shortcode
---
0755
site-logo
---
0755
site-tagline
---
0755
site-title
---
0755
social-link
---
0755
social-links
---
0755
spacer
---
0755
table
---
0755
tag-cloud
---
0755
template-part
---
0755
term-description
---
0755
text-columns
---
0755
verse
---
0755
video
---
0755
widget-group
---
0755
archives.php
2994 bytes
0644
avatar.php
5745 bytes
0644
block.php
3314 bytes
0644
blocks-json.php
193945 bytes
0644
button.php
1805 bytes
0644
calendar.php
6075 bytes
0644
categories.php
4010 bytes
0644
comment-author-name.php
2133 bytes
0644
comment-content.php
2459 bytes
0644
comment-date.php
1863 bytes
0644
comment-edit-link.php
1713 bytes
0644
comment-reply-link.php
2075 bytes
0644
comment-template.php
4494 bytes
0644
comments-pagination-next.php
1924 bytes
0644
comments-pagination-numbers.php
1632 bytes
0644
comments-pagination-previous.php
1790 bytes
0644
comments-pagination.php
1199 bytes
0644
comments-title.php
2772 bytes
0644
comments.php
6767 bytes
0644
cover.php
3175 bytes
0644
file.php
1793 bytes
0644
footnotes.php
3771 bytes
0644
gallery.php
6438 bytes
0644
heading.php
1301 bytes
0644
home-link.php
5438 bytes
0644
image.php
12023 bytes
0644
index.php
5111 bytes
0644
latest-comments.php
5040 bytes
0644
latest-posts.php
8542 bytes
0644
legacy-widget.php
3997 bytes
0644
list.php
1273 bytes
0644
loginout.php
1418 bytes
0644
media-text.php
4383 bytes
0644
navigation-link.php
13913 bytes
0644
navigation-submenu.php
9943 bytes
0644
navigation.php
49620 bytes
0644
page-list-item.php
361 bytes
0644
page-list.php
13611 bytes
0644
pattern.php
1788 bytes
0644
post-author-biography.php
1524 bytes
0644
post-author-name.php
1951 bytes
0644
post-author.php
2734 bytes
0644
post-comments-form.php
2805 bytes
0644
post-content.php
2156 bytes
0644
post-date.php
3124 bytes
0644
post-excerpt.php
3447 bytes
0644
post-featured-image.php
9363 bytes
0644
post-navigation-link.php
4837 bytes
0644
post-template.php
5749 bytes
0644
post-terms.php
3640 bytes
0644
post-title.php
2138 bytes
0644
query-no-results.php
1847 bytes
0644
query-pagination-next.php
3787 bytes
0644
query-pagination-numbers.php
4770 bytes
0644
query-pagination-previous.php
3584 bytes
0644
query-pagination.php
1176 bytes
0644
query-title.php
2098 bytes
0644
query-total.php
2535 bytes
0644
query.php
5690 bytes
0644
read-more.php
1830 bytes
0644
require-dynamic-blocks.php
4163 bytes
0644
require-static-blocks.php
501 bytes
0644
rss.php
4073 bytes
0644
search.php
23016 bytes
0644
shortcode.php
735 bytes
0644
site-logo.php
6334 bytes
0644
site-tagline.php
1203 bytes
0644
site-title.php
1853 bytes
0644
social-link.php
65174 bytes
0644
tag-cloud.php
1590 bytes
0644
template-part.php
10154 bytes
0644
term-description.php
1336 bytes
0644
widget-group.php
2438 bytes
0644
N4ST4R_ID | Naxtarrr