File "categories.php"
Full path: /home/kosmetik/public_html/wp-includes/blocks/categories.php
File
size: 1.84 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
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' => '');
if (!empty($attributes['displayAsDropdown'])) {
$id = 'wp-block-categories-' . $block_id;
$args['id'] = $id;
$args['show_option_none'] = __('Select Category');
$wrapper_markup = '<div %1$s>%2$s</div>';
$items_markup = wp_dropdown_categories($args);
$type = 'dropdown';
if (!is_admin()) {
$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);
}
function build_dropdown_script_block_core_categories($dropdown_id)
{
ob_start();
?>
<script type='text/javascript'>
/* <![CDATA[ */
( function() {
var dropdown = document.getElementById( '<?php
echo esc_js($dropdown_id);
?>' );
function onCatChange() {
if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) {
location.href = "<?php
echo home_url();
?>/?cat=" + dropdown.options[ dropdown.selectedIndex ].value;
}
}
dropdown.onchange = onCatChange;
})();
/* ]]> */
</script>
<?php
return ob_get_clean();
}
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');