ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-15 13:23:33
Editing: estimated-reading-time-block.php
Cancel
Save Changes
<?php namespace Yoast\WP\SEO\Premium\Integrations\Blocks; use Yoast\WP\SEO\Integrations\Blocks\Dynamic_Block; /** * Estimated_Reading_Time_Block class. * * @phpcs:disable Yoast.NamingConventions.ObjectNameDepth.MaxExceeded */ class Estimated_Reading_Time_Block extends Dynamic_Block { /** * The name of the block. * * @var string */ protected $block_name = 'estimated-reading-time'; /** * Holds the clock icon HTML. * * @var string */ protected $clock_icon = '<span class="yoast-reading-time__icon"><svg aria-hidden="true" focusable="false" data-icon="clock" width="20" height="20" fill="none" stroke="currentColor" style="display:inline-block;vertical-align:-0.1em" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></span><span class="yoast-reading-time__spacer" style="display:inline-block;width:1em"></span>'; /** * The editor script for the block. * * @var string */ protected $script = 'wp-seo-premium-dynamic-blocks'; /** * Registers the block. * * @return void */ public function register_block() { \register_block_type( 'yoast-seo/' . $this->block_name, [ 'editor_script' => $this->script, 'render_callback' => [ $this, 'present' ], 'attributes' => [ 'className' => [ 'default' => '', 'type' => 'string', ], 'estimatedReadingTime' => [ 'type' => 'number', 'default' => 0, ], 'descriptiveText' => [ 'type' => 'string', 'default' => \__( 'Estimated reading time:', 'wordpress-seo-premium' ) . ' ', ], 'showDescriptiveText' => [ 'type' => 'boolean', 'default' => true, ], 'showIcon' => [ 'type' => 'boolean', 'default' => true, ], ], ] ); } /** * Presents the block output. * * @param array $attributes The block attributes. * @param string $content The content. * * @return string The block output. */ public function present( $attributes, $content = '' ) { $content = \preg_replace( '/<span class="yoast-reading-time__time-unit">.*<\/span>/', '<span class="yoast-reading-time__time-unit"> ' . \sprintf( \_n( 'minute', 'minutes', $attributes['estimatedReadingTime'], 'wordpress-seo-premium' ), $attributes['estimatedReadingTime'] ) . '</span>', $content, 1 ); if ( $attributes['showIcon'] ) { // Replace 15.7 icon placeholder. $content = \preg_replace( '/ICON_PLACEHOLDER/', $this->clock_icon, $content, 1 ); // Replace the 15.8+ icon placeholder. return \preg_replace( '/<span class="yoast-reading-time__icon"><\/span>/', $this->clock_icon, $content, 1 ); } return $content; } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete