first commit

This commit is contained in:
Manish
2024-04-18 15:32:23 +05:45
commit 7c93c87c53
3952 changed files with 1924754 additions and 0 deletions

View File

@ -0,0 +1,118 @@
<?php
/**
* Server-side rendering of the `core/archives` block.
*
* @package WordPress
*/
/**
* Renders the `core/archives` block on server.
*
* @see WP_Widget_Archives
*
* @param array $attributes The block attributes.
*
* @return string Returns the post content with archives added.
*/
function render_block_core_archives( $attributes ) {
$show_post_count = ! empty( $attributes['showPostCounts'] );
$type = isset( $attributes['type'] ) ? $attributes['type'] : 'monthly';
$class = 'wp-block-archives-list';
if ( ! empty( $attributes['displayAsDropdown'] ) ) {
$class = 'wp-block-archives-dropdown';
$dropdown_id = wp_unique_id( 'wp-block-archives-' );
$title = __( 'Archives' );
/** This filter is documented in wp-includes/widgets/class-wp-widget-archives.php */
$dropdown_args = apply_filters(
'widget_archives_dropdown_args',
array(
'type' => $type,
'format' => 'option',
'show_post_count' => $show_post_count,
)
);
$dropdown_args['echo'] = 0;
$archives = wp_get_archives( $dropdown_args );
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $class ) );
switch ( $dropdown_args['type'] ) {
case 'yearly':
$label = __( 'Select Year' );
break;
case 'monthly':
$label = __( 'Select Month' );
break;
case 'daily':
$label = __( 'Select Day' );
break;
case 'weekly':
$label = __( 'Select Week' );
break;
default:
$label = __( 'Select Post' );
break;
}
$show_label = empty( $attributes['showLabel'] ) ? ' screen-reader-text' : '';
$block_content = '<label for="' . $dropdown_id . '" class="wp-block-archives__label' . $show_label . '">' . esc_html( $title ) . '</label>
<select id="' . $dropdown_id . '" name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="">' . esc_html( $label ) . '</option>' . $archives . '</select>';
return sprintf(
'<div %1$s>%2$s</div>',
$wrapper_attributes,
$block_content
);
}
/** This filter is documented in wp-includes/widgets/class-wp-widget-archives.php */
$archives_args = apply_filters(
'widget_archives_args',
array(
'type' => $type,
'show_post_count' => $show_post_count,
)
);
$archives_args['echo'] = 0;
$archives = wp_get_archives( $archives_args );
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $class ) );
if ( empty( $archives ) ) {
return sprintf(
'<div %1$s>%2$s</div>',
$wrapper_attributes,
__( 'No archives to show.' )
);
}
return sprintf(
'<ul %1$s>%2$s</ul>',
$wrapper_attributes,
$archives
);
}
/**
* Register archives block.
*/
function register_block_core_archives() {
register_block_type_from_metadata(
__DIR__ . '/archives',
array(
'render_callback' => 'render_block_core_archives',
)
);
}
add_action( 'init', 'register_block_core_archives' );

View File

@ -0,0 +1,56 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/archives",
"title": "Archives",
"category": "widgets",
"description": "Display a date archive of your posts.",
"textdomain": "default",
"attributes": {
"displayAsDropdown": {
"type": "boolean",
"default": false
},
"showLabel": {
"type": "boolean",
"default": true
},
"showPostCounts": {
"type": "boolean",
"default": false
},
"type": {
"type": "string",
"default": "monthly"
}
},
"supports": {
"align": true,
"html": false,
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-archives-editor"
}

View File

@ -0,0 +1,3 @@
ul.wp-block-archives{
padding-right:2.5em;
}

View File

@ -0,0 +1 @@
ul.wp-block-archives{padding-right:2.5em}

View File

@ -0,0 +1,3 @@
ul.wp-block-archives{
padding-left:2.5em;
}

View File

@ -0,0 +1 @@
ul.wp-block-archives{padding-left:2.5em}

View File

@ -0,0 +1,7 @@
.wp-block-archives{
box-sizing:border-box;
}
.wp-block-archives-dropdown label{
display:block;
}

View File

@ -0,0 +1 @@
.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}

View File

@ -0,0 +1,7 @@
.wp-block-archives{
box-sizing:border-box;
}
.wp-block-archives-dropdown label{
display:block;
}

View File

@ -0,0 +1 @@
.wp-block-archives{box-sizing:border-box}.wp-block-archives-dropdown label{display:block}

View File

@ -0,0 +1,64 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/audio",
"title": "Audio",
"category": "media",
"description": "Embed a simple audio player.",
"keywords": [ "music", "sound", "podcast", "recording" ],
"textdomain": "default",
"attributes": {
"src": {
"type": "string",
"source": "attribute",
"selector": "audio",
"attribute": "src",
"__experimentalRole": "content"
},
"caption": {
"type": "rich-text",
"source": "rich-text",
"selector": "figcaption",
"__experimentalRole": "content"
},
"id": {
"type": "number",
"__experimentalRole": "content"
},
"autoplay": {
"type": "boolean",
"source": "attribute",
"selector": "audio",
"attribute": "autoplay"
},
"loop": {
"type": "boolean",
"source": "attribute",
"selector": "audio",
"attribute": "loop"
},
"preload": {
"type": "string",
"source": "attribute",
"selector": "audio",
"attribute": "preload"
}
},
"supports": {
"anchor": true,
"align": true,
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-audio-editor",
"style": "wp-block-audio"
}

View File

@ -0,0 +1,15 @@
.wp-block-audio{
margin-left:0;
margin-right:0;
position:relative;
}
.wp-block-audio.is-transient audio{
opacity:.3;
}
.wp-block-audio .components-spinner{
margin-right:-9px;
margin-top:-9px;
position:absolute;
right:50%;
top:50%;
}

View File

@ -0,0 +1 @@
.wp-block-audio{margin-left:0;margin-right:0;position:relative}.wp-block-audio.is-transient audio{opacity:.3}.wp-block-audio .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}

View File

@ -0,0 +1,15 @@
.wp-block-audio{
margin-left:0;
margin-right:0;
position:relative;
}
.wp-block-audio.is-transient audio{
opacity:.3;
}
.wp-block-audio .components-spinner{
left:50%;
margin-left:-9px;
margin-top:-9px;
position:absolute;
top:50%;
}

View File

@ -0,0 +1 @@
.wp-block-audio{margin-left:0;margin-right:0;position:relative}.wp-block-audio.is-transient audio{opacity:.3}.wp-block-audio .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}

View File

@ -0,0 +1,11 @@
.wp-block-audio{
box-sizing:border-box;
}
.wp-block-audio figcaption{
margin-bottom:1em;
margin-top:.5em;
}
.wp-block-audio audio{
min-width:300px;
width:100%;
}

View File

@ -0,0 +1 @@
.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}

View File

@ -0,0 +1,11 @@
.wp-block-audio{
box-sizing:border-box;
}
.wp-block-audio figcaption{
margin-bottom:1em;
margin-top:.5em;
}
.wp-block-audio audio{
min-width:300px;
width:100%;
}

View File

@ -0,0 +1 @@
.wp-block-audio{box-sizing:border-box}.wp-block-audio figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-audio audio{min-width:300px;width:100%}

View File

@ -0,0 +1,12 @@
.wp-block-audio figcaption{
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-audio figcaption{
color:#ffffffa6;
}
.wp-block-audio{
margin:0 0 1em;
}

View File

@ -0,0 +1 @@
.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}

View File

@ -0,0 +1,12 @@
.wp-block-audio figcaption{
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-audio figcaption{
color:#ffffffa6;
}
.wp-block-audio{
margin:0 0 1em;
}

View File

@ -0,0 +1 @@
.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}

View File

@ -0,0 +1,150 @@
<?php
/**
* Server-side rendering of the `core/avatar` block.
*
* @package WordPress
*/
/**
* Renders the `core/avatar` block on the server.
*
* @param array $attributes Block attributes.
* @param string $content Block default content.
* @param WP_Block $block Block instance.
* @return string Return the avatar.
*/
function render_block_core_avatar( $attributes, $content, $block ) {
$size = isset( $attributes['size'] ) ? $attributes['size'] : 96;
$wrapper_attributes = get_block_wrapper_attributes();
$border_attributes = get_block_core_avatar_border_attributes( $attributes );
// Class gets passed through `esc_attr` via `get_avatar`.
$image_classes = ! empty( $border_attributes['class'] )
? "wp-block-avatar__image {$border_attributes['class']}"
: 'wp-block-avatar__image';
// Unlike class, `get_avatar` doesn't filter the styles via `esc_attr`.
// The style engine does pass the border styles through
// `safecss_filter_attr` however.
$image_styles = ! empty( $border_attributes['style'] )
? sprintf( ' style="%s"', esc_attr( $border_attributes['style'] ) )
: '';
if ( ! isset( $block->context['commentId'] ) ) {
$author_id = isset( $attributes['userId'] ) ? $attributes['userId'] : get_post_field( 'post_author', $block->context['postId'] );
$author_name = get_the_author_meta( 'display_name', $author_id );
// translators: %s is the Author name.
$alt = sprintf( __( '%s Avatar' ), $author_name );
$avatar_block = get_avatar(
$author_id,
$size,
'',
$alt,
array(
'extra_attr' => $image_styles,
'class' => $image_classes,
)
);
if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) {
$label = '';
if ( '_blank' === $attributes['linkTarget'] ) {
// translators: %s is the Author name.
$label = 'aria-label="' . esc_attr( sprintf( __( '(%s author archive, opens in a new tab)' ), $author_name ) ) . '"';
}
// translators: %1$s: Author archive link. %2$s: Link target. %3$s Aria label. %4$s Avatar image.
$avatar_block = sprintf( '<a href="%1$s" target="%2$s" %3$s class="wp-block-avatar__link">%4$s</a>', esc_url( get_author_posts_url( $author_id ) ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block );
}
return sprintf( '<div %1s>%2s</div>', $wrapper_attributes, $avatar_block );
}
$comment = get_comment( $block->context['commentId'] );
if ( ! $comment ) {
return '';
}
/* translators: %s is the Comment Author name */
$alt = sprintf( __( '%s Avatar' ), $comment->comment_author );
$avatar_block = get_avatar(
$comment,
$size,
'',
$alt,
array(
'extra_attr' => $image_styles,
'class' => $image_classes,
)
);
if ( isset( $attributes['isLink'] ) && $attributes['isLink'] && isset( $comment->comment_author_url ) && '' !== $comment->comment_author_url ) {
$label = '';
if ( '_blank' === $attributes['linkTarget'] ) {
// translators: %s is the Comment Author name.
$label = 'aria-label="' . esc_attr( sprintf( __( '(%s website link, opens in a new tab)' ), $comment->comment_author ) ) . '"';
}
// translators: %1$s: Comment Author website link. %2$s: Link target. %3$s Aria label. %4$s Avatar image.
$avatar_block = sprintf( '<a href="%1$s" target="%2$s" %3$s class="wp-block-avatar__link">%4$s</a>', esc_url( $comment->comment_author_url ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block );
}
return sprintf( '<div %1s>%2s</div>', $wrapper_attributes, $avatar_block );
}
/**
* Generates class names and styles to apply the border support styles for
* the Avatar block.
*
* @param array $attributes The block attributes.
* @return array The border-related classnames and styles for the block.
*/
function get_block_core_avatar_border_attributes( $attributes ) {
$border_styles = array();
$sides = array( 'top', 'right', 'bottom', 'left' );
// Border radius.
if ( isset( $attributes['style']['border']['radius'] ) ) {
$border_styles['radius'] = $attributes['style']['border']['radius'];
}
// Border style.
if ( isset( $attributes['style']['border']['style'] ) ) {
$border_styles['style'] = $attributes['style']['border']['style'];
}
// Border width.
if ( isset( $attributes['style']['border']['width'] ) ) {
$border_styles['width'] = $attributes['style']['border']['width'];
}
// Border color.
$preset_color = array_key_exists( 'borderColor', $attributes ) ? "var:preset|color|{$attributes['borderColor']}" : null;
$custom_color = $attributes['style']['border']['color'] ?? null;
$border_styles['color'] = $preset_color ? $preset_color : $custom_color;
// Individual border styles e.g. top, left etc.
foreach ( $sides as $side ) {
$border = $attributes['style']['border'][ $side ] ?? null;
$border_styles[ $side ] = array(
'color' => isset( $border['color'] ) ? $border['color'] : null,
'style' => isset( $border['style'] ) ? $border['style'] : null,
'width' => isset( $border['width'] ) ? $border['width'] : null,
);
}
$styles = wp_style_engine_get_styles( array( 'border' => $border_styles ) );
$attributes = array();
if ( ! empty( $styles['classnames'] ) ) {
$attributes['class'] = $styles['classnames'];
}
if ( ! empty( $styles['css'] ) ) {
$attributes['style'] = $styles['css'];
}
return $attributes;
}
/**
* Registers the `core/avatar` block on the server.
*/
function register_block_core_avatar() {
register_block_type_from_metadata(
__DIR__ . '/avatar',
array(
'render_callback' => 'render_block_core_avatar',
)
);
}
add_action( 'init', 'register_block_core_avatar' );

View File

@ -0,0 +1,63 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/avatar",
"title": "Avatar",
"category": "theme",
"description": "Add a users avatar.",
"textdomain": "default",
"attributes": {
"userId": {
"type": "number"
},
"size": {
"type": "number",
"default": 96
},
"isLink": {
"type": "boolean",
"default": false
},
"linkTarget": {
"type": "string",
"default": "_self"
}
},
"usesContext": [ "postType", "postId", "commentId" ],
"supports": {
"html": false,
"align": true,
"alignWide": false,
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"__experimentalBorder": {
"__experimentalSkipSerialization": true,
"radius": true,
"width": true,
"color": true,
"style": true,
"__experimentalDefaultControls": {
"radius": true
}
},
"color": {
"text": false,
"background": false,
"__experimentalDuotone": "img"
},
"interactivity": {
"clientNavigation": true
}
},
"selectors": {
"border": ".wp-block-avatar img"
},
"editorStyle": "wp-block-avatar-editor",
"style": "wp-block-avatar"
}

View File

@ -0,0 +1,7 @@
.wp-block-avatar__image img{
width:100%;
}
.wp-block-avatar.aligncenter .components-resizable-box__container{
margin:0 auto;
}

View File

@ -0,0 +1 @@
.wp-block-avatar__image img{width:100%}.wp-block-avatar.aligncenter .components-resizable-box__container{margin:0 auto}

View File

@ -0,0 +1,7 @@
.wp-block-avatar__image img{
width:100%;
}
.wp-block-avatar.aligncenter .components-resizable-box__container{
margin:0 auto;
}

View File

@ -0,0 +1 @@
.wp-block-avatar__image img{width:100%}.wp-block-avatar.aligncenter .components-resizable-box__container{margin:0 auto}

View File

@ -0,0 +1,9 @@
.wp-block-avatar{
line-height:0;
}
.wp-block-avatar,.wp-block-avatar img{
box-sizing:border-box;
}
.wp-block-avatar.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}

View File

@ -0,0 +1,9 @@
.wp-block-avatar{
line-height:0;
}
.wp-block-avatar,.wp-block-avatar img{
box-sizing:border-box;
}
.wp-block-avatar.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-avatar{line-height:0}.wp-block-avatar,.wp-block-avatar img{box-sizing:border-box}.wp-block-avatar.aligncenter{text-align:center}

View File

@ -0,0 +1,107 @@
<?php
/**
* Server-side rendering of the `core/block` block.
*
* @package WordPress
*/
/**
* Renders the `core/block` block on server.
*
* @param array $attributes The block attributes.
*
* @return string Rendered HTML of the referenced block.
*/
function render_block_core_block( $attributes ) {
static $seen_refs = array();
if ( empty( $attributes['ref'] ) ) {
return '';
}
$reusable_block = get_post( $attributes['ref'] );
if ( ! $reusable_block || 'wp_block' !== $reusable_block->post_type ) {
return '';
}
if ( isset( $seen_refs[ $attributes['ref'] ] ) ) {
// WP_DEBUG_DISPLAY must only be honored when WP_DEBUG. This precedent
// is set in `wp_debug_mode()`.
$is_debug = WP_DEBUG && WP_DEBUG_DISPLAY;
return $is_debug ?
// translators: Visible only in the front end, this warning takes the place of a faulty block.
__( '[block rendering halted]' ) :
'';
}
if ( 'publish' !== $reusable_block->post_status || ! empty( $reusable_block->post_password ) ) {
return '';
}
$seen_refs[ $attributes['ref'] ] = true;
// Handle embeds for reusable blocks.
global $wp_embed;
$content = $wp_embed->run_shortcode( $reusable_block->post_content );
$content = $wp_embed->autoembed( $content );
// Back compat.
// For blocks that have not been migrated in the editor, add some back compat
// so that front-end rendering continues to work.
// This matches the `v2` deprecation. Removes the inner `values` property
// from every item.
if ( isset( $attributes['content'] ) ) {
foreach ( $attributes['content'] as &$content_data ) {
if ( isset( $content_data['values'] ) ) {
$is_assoc_array = is_array( $content_data['values'] ) && ! wp_is_numeric_array( $content_data['values'] );
if ( $is_assoc_array ) {
$content_data = $content_data['values'];
}
}
}
}
// This matches the `v1` deprecation. Rename `overrides` to `content`.
if ( isset( $attributes['overrides'] ) && ! isset( $attributes['content'] ) ) {
$attributes['content'] = $attributes['overrides'];
}
/**
* We set the `pattern/overrides` context through the `render_block_context`
* filter so that it is available when a pattern's inner blocks are
* rendering via do_blocks given it only receives the inner content.
*/
$has_pattern_overrides = isset( $attributes['content'] );
if ( $has_pattern_overrides ) {
$filter_block_context = static function ( $context ) use ( $attributes ) {
$context['pattern/overrides'] = $attributes['content'];
return $context;
};
add_filter( 'render_block_context', $filter_block_context, 1 );
}
$content = do_blocks( $content );
unset( $seen_refs[ $attributes['ref'] ] );
if ( $has_pattern_overrides ) {
remove_filter( 'render_block_context', $filter_block_context, 1 );
}
return $content;
}
/**
* Registers the `core/block` block.
*/
function register_block_core_block() {
register_block_type_from_metadata(
__DIR__ . '/block',
array(
'render_callback' => 'render_block_core_block',
)
);
}
add_action( 'init', 'register_block_core_block' );

View File

@ -0,0 +1,27 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/block",
"title": "Pattern",
"category": "reusable",
"description": "Reuse this design across your site.",
"keywords": [ "reusable" ],
"textdomain": "default",
"attributes": {
"ref": {
"type": "number"
},
"content": {
"type": "object"
}
},
"supports": {
"customClassName": false,
"html": false,
"inserter": false,
"renaming": false,
"interactivity": {
"clientNavigation": true
}
}
}

View File

@ -0,0 +1,20 @@
.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{
padding-left:0;
padding-right:0;
}
.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{
display:block;
}
.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{
display:none;
}
.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{
box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
}
.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{
box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
}
.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{
box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff;
}

View File

@ -0,0 +1 @@
.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-left:0;padding-right:0}.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{display:block}.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{display:none}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}

View File

@ -0,0 +1,20 @@
.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{
padding-left:0;
padding-right:0;
}
.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{
display:block;
}
.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{
display:none;
}
.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{
box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
}
.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{
box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
}
.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{
box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff;
}

View File

@ -0,0 +1 @@
.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-left:0;padding-right:0}.edit-post-visual-editor .block-library-block__reusable-block-container .block-editor-writing-flow{display:block}.edit-post-visual-editor .block-library-block__reusable-block-container .components-disabled .block-list-appender{display:none}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color)}.is-dark-theme .edit-post-visual-editor .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,134 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/button",
"title": "Button",
"category": "design",
"parent": [ "core/buttons" ],
"description": "Prompt visitors to take action with a button-style link.",
"keywords": [ "link" ],
"textdomain": "default",
"attributes": {
"tagName": {
"type": "string",
"enum": [ "a", "button" ],
"default": "a"
},
"type": {
"type": "string",
"default": "button"
},
"textAlign": {
"type": "string"
},
"url": {
"type": "string",
"source": "attribute",
"selector": "a",
"attribute": "href",
"__experimentalRole": "content"
},
"title": {
"type": "string",
"source": "attribute",
"selector": "a,button",
"attribute": "title",
"__experimentalRole": "content"
},
"text": {
"type": "rich-text",
"source": "rich-text",
"selector": "a,button",
"__experimentalRole": "content"
},
"linkTarget": {
"type": "string",
"source": "attribute",
"selector": "a",
"attribute": "target",
"__experimentalRole": "content"
},
"rel": {
"type": "string",
"source": "attribute",
"selector": "a",
"attribute": "rel",
"__experimentalRole": "content"
},
"placeholder": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"textColor": {
"type": "string"
},
"gradient": {
"type": "string"
},
"width": {
"type": "number"
}
},
"supports": {
"anchor": true,
"align": false,
"alignWide": false,
"color": {
"__experimentalSkipSerialization": true,
"gradients": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"reusable": false,
"shadow": {
"__experimentalSkipSerialization": true
},
"spacing": {
"__experimentalSkipSerialization": true,
"padding": [ "horizontal", "vertical" ],
"__experimentalDefaultControls": {
"padding": true
}
},
"__experimentalBorder": {
"color": true,
"radius": true,
"style": true,
"width": true,
"__experimentalSkipSerialization": true,
"__experimentalDefaultControls": {
"color": true,
"radius": true,
"style": true,
"width": true
}
},
"__experimentalSelector": ".wp-block-button .wp-block-button__link",
"interactivity": {
"clientNavigation": true
}
},
"styles": [
{ "name": "fill", "label": "Fill", "isDefault": true },
{ "name": "outline", "label": "Outline" }
],
"editorStyle": "wp-block-button-editor",
"style": "wp-block-button"
}

View File

@ -0,0 +1,61 @@
.wp-block[data-align=center]>.wp-block-button{
margin-left:auto;
margin-right:auto;
text-align:center;
}
.wp-block[data-align=right]>.wp-block-button{
text-align:right;
}
.wp-block-button{
cursor:text;
position:relative;
}
.wp-block-button:focus{
box-shadow:0 0 0 1px #fff, 0 0 0 3px var(--wp-admin-theme-color);
outline:2px solid #0000;
outline-offset:-2px;
}
.wp-block-button[data-rich-text-placeholder]:after{
opacity:.8;
}
div[data-type="core/button"]{
display:table;
}
.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){
border-width:initial;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){
border-top-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){
border-left-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){
border-bottom-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){
border-right-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){
border-width:initial;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){
border-top-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){
border-left-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){
border-bottom-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){
border-right-width:medium;
}

View File

@ -0,0 +1 @@
.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid #0000;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}

View File

@ -0,0 +1,61 @@
.wp-block[data-align=center]>.wp-block-button{
margin-left:auto;
margin-right:auto;
text-align:center;
}
.wp-block[data-align=right]>.wp-block-button{
text-align:right;
}
.wp-block-button{
cursor:text;
position:relative;
}
.wp-block-button:focus{
box-shadow:0 0 0 1px #fff, 0 0 0 3px var(--wp-admin-theme-color);
outline:2px solid #0000;
outline-offset:-2px;
}
.wp-block-button[data-rich-text-placeholder]:after{
opacity:.8;
}
div[data-type="core/button"]{
display:table;
}
.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){
border-width:initial;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){
border-top-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){
border-right-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){
border-bottom-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){
border-left-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){
border-width:initial;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){
border-top-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){
border-right-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){
border-bottom-width:medium;
}
.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){
border-left-width:medium;
}

View File

@ -0,0 +1,2 @@
.wp-block[data-align=center]>.wp-block-button{margin-left:auto;margin-right:auto;text-align:center}.wp-block[data-align=right]>.wp-block-button{
/*!rtl:ignore*/text-align:right}.wp-block-button{cursor:text;position:relative}.wp-block-button:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid #0000;outline-offset:-2px}.wp-block-button[data-rich-text-placeholder]:after{opacity:.8}div[data-type="core/button"]{display:table}.editor-styles-wrapper .wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.editor-styles-wrapper .wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}

View File

@ -0,0 +1,110 @@
.wp-block-button__link{
box-sizing:border-box;
cursor:pointer;
display:inline-block;
text-align:center;
word-break:break-word;
}
.wp-block-button__link.aligncenter{
text-align:center;
}
.wp-block-button__link.alignright{
text-align:right;
}
:where(.wp-block-button__link){
border-radius:9999px;
box-shadow:none;
padding:calc(.667em + 2px) calc(1.333em + 2px);
text-decoration:none;
}
.wp-block-button[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons>.wp-block-button.has-custom-width{
max-width:none;
}
.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{
width:100%;
}
.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-25{
width:calc(25% - var(--wp--style--block-gap, .5em)*.75);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-50{
width:calc(50% - var(--wp--style--block-gap, .5em)*.5);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-75{
width:calc(75% - var(--wp--style--block-gap, .5em)*.25);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-100{
flex-basis:100%;
width:100%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{
width:25%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{
width:50%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{
width:75%;
}
.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{
border-radius:0;
}
.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{
border-radius:0 !important;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{
border:2px solid;
padding:.667em 1.333em;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){
color:currentColor;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){
background-color:initial;
background-image:none;
}
.wp-block-button .wp-block-button__link:where(.has-border-color){
border-width:initial;
}
.wp-block-button .wp-block-button__link:where([style*=border-top-color]){
border-top-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-right-color]){
border-left-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){
border-bottom-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-left-color]){
border-right-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-style]){
border-width:initial;
}
.wp-block-button .wp-block-button__link:where([style*=border-top-style]){
border-top-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-right-style]){
border-left-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){
border-bottom-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-left-style]){
border-right-width:medium;
}

View File

@ -0,0 +1 @@
.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:initial;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-right-width:medium}

View File

@ -0,0 +1,110 @@
.wp-block-button__link{
box-sizing:border-box;
cursor:pointer;
display:inline-block;
text-align:center;
word-break:break-word;
}
.wp-block-button__link.aligncenter{
text-align:center;
}
.wp-block-button__link.alignright{
text-align:right;
}
:where(.wp-block-button__link){
border-radius:9999px;
box-shadow:none;
padding:calc(.667em + 2px) calc(1.333em + 2px);
text-decoration:none;
}
.wp-block-button[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons>.wp-block-button.has-custom-width{
max-width:none;
}
.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{
width:100%;
}
.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-25{
width:calc(25% - var(--wp--style--block-gap, .5em)*.75);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-50{
width:calc(50% - var(--wp--style--block-gap, .5em)*.5);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-75{
width:calc(75% - var(--wp--style--block-gap, .5em)*.25);
}
.wp-block-buttons>.wp-block-button.wp-block-button__width-100{
flex-basis:100%;
width:100%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{
width:25%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{
width:50%;
}
.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{
width:75%;
}
.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{
border-radius:0;
}
.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{
border-radius:0 !important;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{
border:2px solid;
padding:.667em 1.333em;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){
color:currentColor;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){
background-color:initial;
background-image:none;
}
.wp-block-button .wp-block-button__link:where(.has-border-color){
border-width:initial;
}
.wp-block-button .wp-block-button__link:where([style*=border-top-color]){
border-top-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-right-color]){
border-right-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){
border-bottom-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-left-color]){
border-left-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-style]){
border-width:initial;
}
.wp-block-button .wp-block-button__link:where([style*=border-top-style]){
border-top-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-right-style]){
border-right-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){
border-bottom-width:medium;
}
.wp-block-button .wp-block-button__link:where([style*=border-left-style]){
border-left-width:medium;
}

View File

@ -0,0 +1 @@
.wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.wp-block-button .wp-block-button__link:where(.is-style-outline),.wp-block-button:where(.is-style-outline)>.wp-block-button__link{border:2px solid;padding:.667em 1.333em}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color){color:currentColor}.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background){background-color:initial;background-image:none}.wp-block-button .wp-block-button__link:where(.has-border-color){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-color]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-color]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-color]){border-left-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-style]){border-width:initial}.wp-block-button .wp-block-button__link:where([style*=border-top-style]){border-top-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-right-style]){border-right-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]){border-bottom-width:medium}.wp-block-button .wp-block-button__link:where([style*=border-left-style]){border-left-width:medium}

View File

@ -0,0 +1,49 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/buttons",
"title": "Buttons",
"category": "design",
"allowedBlocks": [ "core/button" ],
"description": "Prompt visitors to take action with a group of button-style links.",
"keywords": [ "link" ],
"textdomain": "default",
"supports": {
"anchor": true,
"align": [ "wide", "full" ],
"html": false,
"__experimentalExposeControlsToChildren": true,
"spacing": {
"blockGap": true,
"margin": [ "top", "bottom" ],
"__experimentalDefaultControls": {
"blockGap": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"layout": {
"allowSwitching": false,
"allowInheriting": false,
"default": {
"type": "flex"
}
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-buttons-editor",
"style": "wp-block-buttons"
}

View File

@ -0,0 +1,34 @@
.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{
margin:0;
}
.wp-block-buttons>.block-list-appender{
align-items:center;
display:inline-flex;
}
.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{
justify-content:flex-start;
}
.wp-block-buttons>.wp-block-button:focus{
box-shadow:none;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{
margin-left:auto;
margin-right:auto;
margin-top:0;
width:100%;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{
margin-bottom:0;
}
.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block[data-align=center]>.wp-block-buttons{
align-items:center;
justify-content:center;
}
.wp-block[data-align=right]>.wp-block-buttons{
justify-content:flex-end;
}

View File

@ -0,0 +1 @@
.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}

View File

@ -0,0 +1,34 @@
.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{
margin:0;
}
.wp-block-buttons>.block-list-appender{
align-items:center;
display:inline-flex;
}
.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{
justify-content:flex-start;
}
.wp-block-buttons>.wp-block-button:focus{
box-shadow:none;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{
margin-left:auto;
margin-right:auto;
margin-top:0;
width:100%;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{
margin-bottom:0;
}
.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block[data-align=center]>.wp-block-buttons{
align-items:center;
justify-content:center;
}
.wp-block[data-align=right]>.wp-block-buttons{
justify-content:flex-end;
}

View File

@ -0,0 +1 @@
.wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end}

View File

@ -0,0 +1,49 @@
.wp-block-buttons.is-vertical{
flex-direction:column;
}
.wp-block-buttons.is-vertical>.wp-block-button:last-child{
margin-bottom:0;
}
.wp-block-buttons>.wp-block-button{
display:inline-block;
margin:0;
}
.wp-block-buttons.is-content-justification-left{
justify-content:flex-start;
}
.wp-block-buttons.is-content-justification-left.is-vertical{
align-items:flex-start;
}
.wp-block-buttons.is-content-justification-center{
justify-content:center;
}
.wp-block-buttons.is-content-justification-center.is-vertical{
align-items:center;
}
.wp-block-buttons.is-content-justification-right{
justify-content:flex-end;
}
.wp-block-buttons.is-content-justification-right.is-vertical{
align-items:flex-end;
}
.wp-block-buttons.is-content-justification-space-between{
justify-content:space-between;
}
.wp-block-buttons.aligncenter{
text-align:center;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{
margin-left:auto;
margin-right:auto;
width:100%;
}
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-button.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center}

View File

@ -0,0 +1,49 @@
.wp-block-buttons.is-vertical{
flex-direction:column;
}
.wp-block-buttons.is-vertical>.wp-block-button:last-child{
margin-bottom:0;
}
.wp-block-buttons>.wp-block-button{
display:inline-block;
margin:0;
}
.wp-block-buttons.is-content-justification-left{
justify-content:flex-start;
}
.wp-block-buttons.is-content-justification-left.is-vertical{
align-items:flex-start;
}
.wp-block-buttons.is-content-justification-center{
justify-content:center;
}
.wp-block-buttons.is-content-justification-center.is-vertical{
align-items:center;
}
.wp-block-buttons.is-content-justification-right{
justify-content:flex-end;
}
.wp-block-buttons.is-content-justification-right.is-vertical{
align-items:flex-end;
}
.wp-block-buttons.is-content-justification-space-between{
justify-content:space-between;
}
.wp-block-buttons.aligncenter{
text-align:center;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{
margin-left:auto;
margin-right:auto;
width:100%;
}
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-button.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center}

View File

@ -0,0 +1,172 @@
<?php
/**
* Server-side rendering of the `core/calendar` block.
*
* @package WordPress
*/
/**
* Renders the `core/calendar` block on server.
*
* @param array $attributes The block attributes.
*
* @return string Returns the block content.
*/
function render_block_core_calendar( $attributes ) {
global $monthnum, $year;
// Calendar shouldn't be rendered
// when there are no published posts on the site.
if ( ! block_core_calendar_has_published_posts() ) {
if ( is_user_logged_in() ) {
return '<div>' . __( 'The calendar block is hidden because there are no published posts.' ) . '</div>';
}
return '';
}
$previous_monthnum = $monthnum;
$previous_year = $year;
if ( isset( $attributes['month'] ) && isset( $attributes['year'] ) ) {
$permalink_structure = get_option( 'permalink_structure' );
if (
str_contains( $permalink_structure, '%monthnum%' ) &&
str_contains( $permalink_structure, '%year%' )
) {
$monthnum = $attributes['month'];
$year = $attributes['year'];
}
}
$color_block_styles = array();
// Text color.
$preset_text_color = array_key_exists( 'textColor', $attributes ) ? "var:preset|color|{$attributes['textColor']}" : null;
$custom_text_color = $attributes['style']['color']['text'] ?? null;
$color_block_styles['text'] = $preset_text_color ? $preset_text_color : $custom_text_color;
// Background Color.
$preset_background_color = array_key_exists( 'backgroundColor', $attributes ) ? "var:preset|color|{$attributes['backgroundColor']}" : null;
$custom_background_color = $attributes['style']['color']['background'] ?? null;
$color_block_styles['background'] = $preset_background_color ? $preset_background_color : $custom_background_color;
// Generate color styles and classes.
$styles = wp_style_engine_get_styles( array( 'color' => $color_block_styles ), array( 'convert_vars_to_classnames' => true ) );
$inline_styles = empty( $styles['css'] ) ? '' : sprintf( ' style="%s"', esc_attr( $styles['css'] ) );
$classnames = empty( $styles['classnames'] ) ? '' : ' ' . esc_attr( $styles['classnames'] );
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classnames .= ' has-link-color';
}
// Apply color classes and styles to the calendar.
$calendar = str_replace( '<table', '<table' . $inline_styles, get_calendar( true, false ) );
$calendar = str_replace( 'class="wp-calendar-table', 'class="wp-calendar-table' . $classnames, $calendar );
$wrapper_attributes = get_block_wrapper_attributes();
$output = sprintf(
'<div %1$s>%2$s</div>',
$wrapper_attributes,
$calendar
);
$monthnum = $previous_monthnum;
$year = $previous_year;
return $output;
}
/**
* Registers the `core/calendar` block on server.
*/
function register_block_core_calendar() {
register_block_type_from_metadata(
__DIR__ . '/calendar',
array(
'render_callback' => 'render_block_core_calendar',
)
);
}
add_action( 'init', 'register_block_core_calendar' );
/**
* Returns whether or not there are any published posts.
*
* Used to hide the calendar block when there are no published posts.
* This compensates for a known Core bug: https://core.trac.wordpress.org/ticket/12016
*
* @return bool Has any published posts or not.
*/
function block_core_calendar_has_published_posts() {
// Multisite already has an option that stores the count of the published posts.
// Let's use that for multisites.
if ( is_multisite() ) {
return 0 < (int) get_option( 'post_count' );
}
// On single sites we try our own cached option first.
$has_published_posts = get_option( 'wp_calendar_block_has_published_posts', null );
if ( null !== $has_published_posts ) {
return (bool) $has_published_posts;
}
// No cache hit, let's update the cache and return the cached value.
return block_core_calendar_update_has_published_posts();
}
/**
* Queries the database for any published post and saves
* a flag whether any published post exists or not.
*
* @return bool Has any published posts or not.
*/
function block_core_calendar_update_has_published_posts() {
global $wpdb;
$has_published_posts = (bool) $wpdb->get_var( "SELECT 1 as test FROM {$wpdb->posts} WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1" );
update_option( 'wp_calendar_block_has_published_posts', $has_published_posts );
return $has_published_posts;
}
// We only want to register these functions and actions when
// we are on single sites. On multi sites we use `post_count` option.
if ( ! is_multisite() ) {
/**
* Handler for updating the has published posts flag when a post is deleted.
*
* @param int $post_id Deleted post ID.
*/
function block_core_calendar_update_has_published_post_on_delete( $post_id ) {
$post = get_post( $post_id );
if ( ! $post || 'publish' !== $post->post_status || 'post' !== $post->post_type ) {
return;
}
block_core_calendar_update_has_published_posts();
}
/**
* Handler for updating the has published posts flag when a post status changes.
*
* @param string $new_status The status the post is changing to.
* @param string $old_status The status the post is changing from.
* @param WP_Post $post Post object.
*/
function block_core_calendar_update_has_published_post_on_transition_post_status( $new_status, $old_status, $post ) {
if ( $new_status === $old_status ) {
return;
}
if ( 'post' !== get_post_type( $post ) ) {
return;
}
if ( 'publish' !== $new_status && 'publish' !== $old_status ) {
return;
}
block_core_calendar_update_has_published_posts();
}
add_action( 'delete_post', 'block_core_calendar_update_has_published_post_on_delete' );
add_action( 'transition_post_status', 'block_core_calendar_update_has_published_post_on_transition_post_status', 10, 3 );
}

View File

@ -0,0 +1,46 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/calendar",
"title": "Calendar",
"category": "widgets",
"description": "A calendar of your sites posts.",
"keywords": [ "posts", "archive" ],
"textdomain": "default",
"attributes": {
"month": {
"type": "integer"
},
"year": {
"type": "integer"
}
},
"supports": {
"align": true,
"color": {
"link": true,
"__experimentalSkipSerialization": [ "text", "background" ],
"__experimentalDefaultControls": {
"background": true,
"text": true
},
"__experimentalSelector": "table, th"
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"style": "wp-block-calendar"
}

View File

@ -0,0 +1,33 @@
.wp-block-calendar{
text-align:center;
}
.wp-block-calendar td,.wp-block-calendar th{
border:1px solid;
padding:.25em;
}
.wp-block-calendar th{
font-weight:400;
}
.wp-block-calendar caption{
background-color:inherit;
}
.wp-block-calendar table{
border-collapse:collapse;
width:100%;
}
.wp-block-calendar table:where(:not(.has-text-color)){
color:#40464d;
}
.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{
border-color:#ddd;
}
.wp-block-calendar table.has-background th{
background-color:inherit;
}
.wp-block-calendar table.has-text-color th{
color:inherit;
}
:where(.wp-block-calendar table:not(.has-background) th){
background:#ddd;
}

View File

@ -0,0 +1 @@
.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}

View File

@ -0,0 +1,33 @@
.wp-block-calendar{
text-align:center;
}
.wp-block-calendar td,.wp-block-calendar th{
border:1px solid;
padding:.25em;
}
.wp-block-calendar th{
font-weight:400;
}
.wp-block-calendar caption{
background-color:inherit;
}
.wp-block-calendar table{
border-collapse:collapse;
width:100%;
}
.wp-block-calendar table:where(:not(.has-text-color)){
color:#40464d;
}
.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{
border-color:#ddd;
}
.wp-block-calendar table.has-background th{
background-color:inherit;
}
.wp-block-calendar table.has-text-color th{
color:inherit;
}
:where(.wp-block-calendar table:not(.has-background) th){
background:#ddd;
}

View File

@ -0,0 +1 @@
.wp-block-calendar{text-align:center}.wp-block-calendar td,.wp-block-calendar th{border:1px solid;padding:.25em}.wp-block-calendar th{font-weight:400}.wp-block-calendar caption{background-color:inherit}.wp-block-calendar table{border-collapse:collapse;width:100%}.wp-block-calendar table:where(:not(.has-text-color)){color:#40464d}.wp-block-calendar table:where(:not(.has-text-color)) td,.wp-block-calendar table:where(:not(.has-text-color)) th{border-color:#ddd}.wp-block-calendar table.has-background th{background-color:inherit}.wp-block-calendar table.has-text-color th{color:inherit}:where(.wp-block-calendar table:not(.has-background) th){background:#ddd}

View File

@ -0,0 +1,99 @@
<?php
/**
* Server-side rendering of the `core/categories` block.
*
* @package WordPress
*/
/**
* Renders the `core/categories` block on server.
*
* @param array $attributes The block attributes.
*
* @return string Returns the categories list/dropdown markup.
*/
function render_block_core_categories( $attributes ) {
static $block_id = 0;
++$block_id;
$args = array(
'echo' => false,
'hierarchical' => ! empty( $attributes['showHierarchy'] ),
'orderby' => 'name',
'show_count' => ! empty( $attributes['showPostCounts'] ),
'title_li' => '',
'hide_empty' => empty( $attributes['showEmpty'] ),
);
if ( ! empty( $attributes['showOnlyTopLevel'] ) && $attributes['showOnlyTopLevel'] ) {
$args['parent'] = 0;
}
if ( ! empty( $attributes['displayAsDropdown'] ) ) {
$id = 'wp-block-categories-' . $block_id;
$args['id'] = $id;
$args['show_option_none'] = __( 'Select Category' );
$wrapper_markup = '<div %1$s><label class="screen-reader-text" for="' . esc_attr( $id ) . '">' . __( 'Categories' ) . '</label>%2$s</div>';
$items_markup = wp_dropdown_categories( $args );
$type = 'dropdown';
if ( ! is_admin() ) {
// Inject the dropdown script immediately after the select dropdown.
$items_markup = preg_replace(
'#(?<=</select>)#',
build_dropdown_script_block_core_categories( $id ),
$items_markup,
1
);
}
} else {
$wrapper_markup = '<ul %1$s>%2$s</ul>';
$items_markup = wp_list_categories( $args );
$type = 'list';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => "wp-block-categories-{$type}" ) );
return sprintf(
$wrapper_markup,
$wrapper_attributes,
$items_markup
);
}
/**
* Generates the inline script for a categories dropdown field.
*
* @param string $dropdown_id ID of the dropdown field.
*
* @return string Returns the dropdown onChange redirection script.
*/
function build_dropdown_script_block_core_categories( $dropdown_id ) {
ob_start();
?>
<script>
( function() {
var dropdown = document.getElementById( '<?php echo esc_js( $dropdown_id ); ?>' );
function onCatChange() {
if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) {
location.href = "<?php echo esc_url( home_url() ); ?>/?cat=" + dropdown.options[ dropdown.selectedIndex ].value;
}
}
dropdown.onchange = onCatChange;
})();
</script>
<?php
return wp_get_inline_script_tag( str_replace( array( '<script>', '</script>' ), '', ob_get_clean() ) );
}
/**
* Registers the `core/categories` block on server.
*/
function register_block_core_categories() {
register_block_type_from_metadata(
__DIR__ . '/categories',
array(
'render_callback' => 'render_block_core_categories',
)
);
}
add_action( 'init', 'register_block_core_categories' );

View File

@ -0,0 +1,61 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/categories",
"title": "Categories List",
"category": "widgets",
"description": "Display a list of all categories.",
"textdomain": "default",
"attributes": {
"displayAsDropdown": {
"type": "boolean",
"default": false
},
"showHierarchy": {
"type": "boolean",
"default": false
},
"showPostCounts": {
"type": "boolean",
"default": false
},
"showOnlyTopLevel": {
"type": "boolean",
"default": false
},
"showEmpty": {
"type": "boolean",
"default": false
}
},
"supports": {
"align": true,
"html": false,
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-categories-editor",
"style": "wp-block-categories"
}

View File

@ -0,0 +1,9 @@
.wp-block-categories ul{
padding-right:2.5em;
}
.wp-block-categories ul ul{
margin-top:6px;
}
[data-align=center] .wp-block-categories{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-categories ul{padding-right:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}

View File

@ -0,0 +1,9 @@
.wp-block-categories ul{
padding-left:2.5em;
}
.wp-block-categories ul ul{
margin-top:6px;
}
[data-align=center] .wp-block-categories{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-categories ul{padding-left:2.5em}.wp-block-categories ul ul{margin-top:6px}[data-align=center] .wp-block-categories{text-align:center}

View File

@ -0,0 +1,12 @@
.wp-block-categories{
box-sizing:border-box;
}
.wp-block-categories.alignleft{
margin-right:2em;
}
.wp-block-categories.alignright{
margin-left:2em;
}
.wp-block-categories.wp-block-categories-dropdown.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}

View File

@ -0,0 +1,12 @@
.wp-block-categories{
box-sizing:border-box;
}
.wp-block-categories.alignleft{
margin-right:2em;
}
.wp-block-categories.alignright{
margin-left:2em;
}
.wp-block-categories.wp-block-categories-dropdown.aligncenter{
text-align:center;
}

View File

@ -0,0 +1 @@
.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}

View File

@ -0,0 +1,65 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/code",
"title": "Code",
"category": "text",
"description": "Display code snippets that respect your spacing and tabs.",
"textdomain": "default",
"attributes": {
"content": {
"type": "rich-text",
"source": "rich-text",
"selector": "code",
"__unstablePreserveWhiteSpace": true
}
},
"supports": {
"align": [ "wide" ],
"anchor": true,
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"spacing": {
"margin": [ "top", "bottom" ],
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"__experimentalBorder": {
"radius": true,
"color": true,
"width": true,
"style": true,
"__experimentalDefaultControls": {
"width": true,
"color": true
}
},
"color": {
"text": true,
"background": true,
"gradients": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"style": "wp-block-code"
}

View File

@ -0,0 +1,3 @@
.wp-block-code code{
background:none;
}

View File

@ -0,0 +1 @@
.wp-block-code code{background:none}

View File

@ -0,0 +1,3 @@
.wp-block-code code{
background:none;
}

View File

@ -0,0 +1 @@
.wp-block-code code{background:none}

View File

@ -0,0 +1,9 @@
.wp-block-code{
box-sizing:border-box;
}
.wp-block-code code{
display:block;
font-family:inherit;
overflow-wrap:break-word;
white-space:pre-wrap;
}

View File

@ -0,0 +1 @@
.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}

View File

@ -0,0 +1,9 @@
.wp-block-code{
box-sizing:border-box;
}
.wp-block-code code{
display:block;
font-family:inherit;
overflow-wrap:break-word;
white-space:pre-wrap;
}

1
wp-includes/blocks/code/style.min.css vendored Normal file
View File

@ -0,0 +1 @@
.wp-block-code{box-sizing:border-box}.wp-block-code code{display:block;font-family:inherit;overflow-wrap:break-word;white-space:pre-wrap}

View File

@ -0,0 +1,6 @@
.wp-block-code{
border:1px solid #ccc;
border-radius:4px;
font-family:Menlo,Consolas,monaco,monospace;
padding:.8em 1em;
}

View File

@ -0,0 +1 @@
.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}

View File

@ -0,0 +1,6 @@
.wp-block-code{
border:1px solid #ccc;
border-radius:4px;
font-family:Menlo,Consolas,monaco,monospace;
padding:.8em 1em;
}

1
wp-includes/blocks/code/theme.min.css vendored Normal file
View File

@ -0,0 +1 @@
.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}

View File

@ -0,0 +1,77 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/column",
"title": "Column",
"category": "design",
"parent": [ "core/columns" ],
"description": "A single column within a columns block.",
"textdomain": "default",
"attributes": {
"verticalAlignment": {
"type": "string"
},
"width": {
"type": "string"
},
"allowedBlocks": {
"type": "array"
},
"templateLock": {
"type": [ "string", "boolean" ],
"enum": [ "all", "insert", "contentOnly", false ]
}
},
"supports": {
"__experimentalOnEnter": true,
"anchor": true,
"reusable": false,
"html": false,
"color": {
"gradients": true,
"heading": true,
"button": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"shadow": true,
"spacing": {
"blockGap": true,
"padding": true,
"__experimentalDefaultControls": {
"padding": true,
"blockGap": true
}
},
"__experimentalBorder": {
"color": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"style": true,
"width": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"layout": true,
"interactivity": {
"clientNavigation": true
}
}
}

View File

@ -0,0 +1,90 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/columns",
"title": "Columns",
"category": "design",
"allowedBlocks": [ "core/column" ],
"description": "Display content in multiple columns, with blocks added to each column.",
"textdomain": "default",
"attributes": {
"verticalAlignment": {
"type": "string"
},
"isStackedOnMobile": {
"type": "boolean",
"default": true
},
"templateLock": {
"type": [ "string", "boolean" ],
"enum": [ "all", "insert", "contentOnly", false ]
}
},
"supports": {
"anchor": true,
"align": [ "wide", "full" ],
"html": false,
"color": {
"gradients": true,
"link": true,
"heading": true,
"button": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"spacing": {
"blockGap": {
"__experimentalDefault": "2em",
"sides": [ "horizontal", "vertical" ]
},
"margin": [ "top", "bottom" ],
"padding": true,
"__experimentalDefaultControls": {
"padding": true,
"blockGap": true
}
},
"layout": {
"allowSwitching": false,
"allowInheriting": false,
"allowEditing": false,
"default": {
"type": "flex",
"flexWrap": "nowrap"
}
},
"__experimentalBorder": {
"color": true,
"radius": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"radius": true,
"style": true,
"width": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
},
"shadow": true
},
"editorStyle": "wp-block-columns-editor",
"style": "wp-block-columns"
}

View File

@ -0,0 +1,10 @@
.wp-block-columns :where(.wp-block){
margin-left:0;
margin-right:0;
max-width:none;
}
html :where(.wp-block-column){
margin-bottom:0;
margin-top:0;
}

View File

@ -0,0 +1 @@
.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}

View File

@ -0,0 +1,10 @@
.wp-block-columns :where(.wp-block){
margin-left:0;
margin-right:0;
max-width:none;
}
html :where(.wp-block-column){
margin-bottom:0;
margin-top:0;
}

View File

@ -0,0 +1 @@
.wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0}

View File

@ -0,0 +1,74 @@
.wp-block-columns{
align-items:normal !important;
box-sizing:border-box;
display:flex;
flex-wrap:wrap !important;
}
@media (min-width:782px){
.wp-block-columns{
flex-wrap:nowrap !important;
}
}
.wp-block-columns.are-vertically-aligned-top{
align-items:flex-start;
}
.wp-block-columns.are-vertically-aligned-center{
align-items:center;
}
.wp-block-columns.are-vertically-aligned-bottom{
align-items:flex-end;
}
@media (max-width:781px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:100% !important;
}
}
@media (min-width:782px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
}
.wp-block-columns.is-not-stacked-on-mobile{
flex-wrap:nowrap !important;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
:where(.wp-block-columns){
margin-bottom:1.75em;
}
:where(.wp-block-columns.has-background){
padding:1.25em 2.375em;
}
.wp-block-column{
flex-grow:1;
min-width:0;
overflow-wrap:break-word;
word-break:break-word;
}
.wp-block-column.is-vertically-aligned-top{
align-self:flex-start;
}
.wp-block-column.is-vertically-aligned-center{
align-self:center;
}
.wp-block-column.is-vertically-aligned-bottom{
align-self:flex-end;
}
.wp-block-column.is-vertically-aligned-stretch{
align-self:stretch;
}
.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{
width:100%;
}

View File

@ -0,0 +1 @@
.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}

View File

@ -0,0 +1,74 @@
.wp-block-columns{
align-items:normal !important;
box-sizing:border-box;
display:flex;
flex-wrap:wrap !important;
}
@media (min-width:782px){
.wp-block-columns{
flex-wrap:nowrap !important;
}
}
.wp-block-columns.are-vertically-aligned-top{
align-items:flex-start;
}
.wp-block-columns.are-vertically-aligned-center{
align-items:center;
}
.wp-block-columns.are-vertically-aligned-bottom{
align-items:flex-end;
}
@media (max-width:781px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:100% !important;
}
}
@media (min-width:782px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
}
.wp-block-columns.is-not-stacked-on-mobile{
flex-wrap:nowrap !important;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
:where(.wp-block-columns){
margin-bottom:1.75em;
}
:where(.wp-block-columns.has-background){
padding:1.25em 2.375em;
}
.wp-block-column{
flex-grow:1;
min-width:0;
overflow-wrap:break-word;
word-break:break-word;
}
.wp-block-column.is-vertically-aligned-top{
align-self:flex-start;
}
.wp-block-column.is-vertically-aligned-center{
align-self:center;
}
.wp-block-column.is-vertically-aligned-bottom{
align-self:flex-end;
}
.wp-block-column.is-vertically-aligned-stretch{
align-self:stretch;
}
.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{
width:100%;
}

View File

@ -0,0 +1 @@
.wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}

View File

@ -0,0 +1,65 @@
<?php
/**
* Server-side rendering of the `core/comment-author-name` block.
*
* @package WordPress
*/
/**
* Renders the `core/comment-author-name` block on the server.
*
* @param array $attributes Block attributes.
* @param string $content Block default content.
* @param WP_Block $block Block instance.
* @return string Return the post comment's author.
*/
function render_block_core_comment_author_name( $attributes, $content, $block ) {
if ( ! isset( $block->context['commentId'] ) ) {
return '';
}
$comment = get_comment( $block->context['commentId'] );
$commenter = wp_get_current_commenter();
$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];
if ( empty( $comment ) ) {
return '';
}
$classes = array();
if ( isset( $attributes['textAlign'] ) ) {
$classes[] = 'has-text-align-' . $attributes['textAlign'];
}
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classes[] = 'has-link-color';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
$comment_author = get_comment_author( $comment );
$link = get_comment_author_url( $comment );
if ( ! empty( $link ) && ! empty( $attributes['isLink'] ) && ! empty( $attributes['linkTarget'] ) ) {
$comment_author = sprintf( '<a rel="external nofollow ugc" href="%1s" target="%2s" >%3s</a>', esc_url( $link ), esc_attr( $attributes['linkTarget'] ), $comment_author );
}
if ( '0' === $comment->comment_approved && ! $show_pending_links ) {
$comment_author = wp_kses( $comment_author, array() );
}
return sprintf(
'<div %1$s>%2$s</div>',
$wrapper_attributes,
$comment_author
);
}
/**
* Registers the `core/comment-author-name` block on the server.
*/
function register_block_core_comment_author_name() {
register_block_type_from_metadata(
__DIR__ . '/comment-author-name',
array(
'render_callback' => 'render_block_core_comment_author_name',
)
);
}
add_action( 'init', 'register_block_core_comment_author_name' );

View File

@ -0,0 +1,56 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/comment-author-name",
"title": "Comment Author Name",
"category": "theme",
"ancestor": [ "core/comment-template" ],
"description": "Displays the name of the author of the comment.",
"textdomain": "default",
"attributes": {
"isLink": {
"type": "boolean",
"default": true
},
"linkTarget": {
"type": "string",
"default": "_self"
},
"textAlign": {
"type": "string"
}
},
"usesContext": [ "commentId" ],
"supports": {
"html": false,
"spacing": {
"margin": true,
"padding": true
},
"color": {
"gradients": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true,
"link": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
}
}

View File

@ -0,0 +1,81 @@
<?php
/**
* Server-side rendering of the `core/comment-content` block.
*
* @package WordPress
*/
/**
* Renders the `core/comment-content` block on the server.
*
* @param array $attributes Block attributes.
* @param string $content Block default content.
* @param WP_Block $block Block instance.
* @return string Return the post comment's content.
*/
function render_block_core_comment_content( $attributes, $content, $block ) {
if ( ! isset( $block->context['commentId'] ) ) {
return '';
}
$comment = get_comment( $block->context['commentId'] );
$commenter = wp_get_current_commenter();
$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];
if ( empty( $comment ) ) {
return '';
}
$args = array();
$comment_text = get_comment_text( $comment, $args );
if ( ! $comment_text ) {
return '';
}
/** This filter is documented in wp-includes/comment-template.php */
$comment_text = apply_filters( 'comment_text', $comment_text, $comment, $args );
$moderation_note = '';
if ( '0' === $comment->comment_approved ) {
$commenter = wp_get_current_commenter();
if ( $commenter['comment_author_email'] ) {
$moderation_note = __( 'Your comment is awaiting moderation.' );
} else {
$moderation_note = __( 'Your comment is awaiting moderation. This is a preview; your comment will be visible after it has been approved.' );
}
$moderation_note = '<p><em class="comment-awaiting-moderation">' . $moderation_note . '</em></p>';
if ( ! $show_pending_links ) {
$comment_text = wp_kses( $comment_text, array() );
}
}
$classes = array();
if ( isset( $attributes['textAlign'] ) ) {
$classes[] = 'has-text-align-' . $attributes['textAlign'];
}
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classes[] = 'has-link-color';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
return sprintf(
'<div %1$s>%2$s%3$s</div>',
$wrapper_attributes,
$moderation_note,
$comment_text
);
}
/**
* Registers the `core/comment-content` block on the server.
*/
function register_block_core_comment_content() {
register_block_type_from_metadata(
__DIR__ . '/comment-content',
array(
'render_callback' => 'render_block_core_comment_content',
)
);
}
add_action( 'init', 'register_block_core_comment_content' );

Some files were not shown because too many files have changed in this diff Show More