id !== 'widgets') { return; } wp_add_inline_script('wp-blocks', ' document.addEventListener("DOMContentLoaded", function() { if (typeof wp !== "undefined" && wp.blocks && wp.blocks.registerBlockCollection) { wp.blocks.registerBlockCollection("aksrt", { title: "AKSRT 主题小工具", icon: undefined }); } }); '); }); /** * Assign AKSRT widgets to the AKSRT block category in the widgets editor. * * @param array $metadata Block metadata. * @return array */ add_filter('block_type_metadata', function ($metadata) { $aksrt_widgets = [ 'aksrt_categories', 'aksrt_tag_cloud', ]; if (!empty($metadata['name']) && in_array($metadata['name'], $aksrt_widgets, true)) { $metadata['category'] = 'aksrt'; } return $metadata; }); /** * Show widget placement hints in the admin form. */ add_action('in_widget_form', function (WP_Widget $widget): void { $map = [ 'aksrt_categories' => 'sidebar', 'aksrt_tag_cloud' => 'sidebar', 'aksrt_hot_posts' => 'sidebar', 'aksrt_tab_posts' => 'hybrid', 'aksrt_category_block' => 'hybrid', 'aksrt_category_tabs' => 'hybrid', 'aksrt_category_recommend' => 'homepage', ]; $scope = $map[$widget->id_base] ?? ''; if ($scope !== '') { aksrt_widget_render_location_help($scope); } }, 10, 1);