render_block_core_read_more

The timeline below displays how wordpress function render_block_core_read_more has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Server-side rendering of the `core/read-more` block.
 *
 * @package WordPress
 */
/**
 * Renders the `core/read-more` 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 post link.
 */
function render_block_core_read_more($attributes, $content, $block)
{
    if (!isset($block->context['postId'])) {
        return '';
    }
    $post_ID = $block->context['postId'];
    $post_title = get_the_title($post_ID);
    if ('' === $post_title) {
        $post_title = sprintf(
            /* translators: %s is post ID to describe the link for screen readers. */
            __('untitled post %s'),
            $post_ID
        );
    }
    $screen_reader_text = sprintf(
        /* translators: %s is either the post title or post ID to describe the link for screen readers. */
        __(': %s'),
        $post_title
    );
    $justify_class_name = empty($attributes['justifyContent']) ? '' : "is-justified-{$attributes['justifyContent']}";
    $wrapper_attributes = get_block_wrapper_attributes(array('class' => $justify_class_name));
    $more_text = (!empty($attributes['content'])) ? wp_kses_post($attributes['content']) : __('Read more');
    return sprintf('<a %1s href="%2s" target="%3s">%4s<span class="screen-reader-text">%5s</span></a>', $wrapper_attributes, get_the_permalink($post_ID), esc_attr($attributes['linkTarget']), $more_text, $screen_reader_text);
}

WordPress Version: 6.1

/**
 * Server-side rendering of the `core/read-more` block.
 *
 * @package WordPress
 */
/**
 * Renders the `core/read-more` 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 post link.
 */
function render_block_core_read_more($attributes, $content, $block)
{
    if (!isset($block->context['postId'])) {
        return '';
    }
    $post_ID = $block->context['postId'];
    $justify_class_name = empty($attributes['justifyContent']) ? '' : "is-justified-{$attributes['justifyContent']}";
    $wrapper_attributes = get_block_wrapper_attributes(array('class' => $justify_class_name));
    $more_text = (!empty($attributes['content'])) ? wp_kses_post($attributes['content']) : __('Read more');
    return sprintf('<a %1s href="%2s" target="%3s">%4s</a>', $wrapper_attributes, get_the_permalink($post_ID), esc_attr($attributes['linkTarget']), $more_text);
}