__( 'Pages', 'srh25' ), 'description' => __( 'A collection of full page layouts.', 'srh25' ), ) ); } /*********************************************************** ###################### Admin Clean ######################### ************************************************************/ add_filter('gettext', 'srh25_change_howdy', 10, 3); function srh25_change_howdy($translated, $text, $domain) { if (false !== strpos($translated, 'Howdy,')) return str_replace('Howdy,', '', $translated); return $translated; } add_filter( 'gettext', 'srh25_change_howdy_text_email', 10, 2 ); function srh25_change_howdy_text_email( $translation, $original ) { if( 'Howdy, %1$s' == $original ) $translation = '%1$s'; return $translation; } add_filter( 'show_admin_bar', '__return_false' ); add_action( 'admin_bar_menu', 'srh25_admin_bar', 999 ); function srh25_admin_bar( $wp_admin_bar ) { //$wp_admin_bar->remove_menu('my-account'); //$wp_admin_bar->remove_menu( 'edit' ); //$wp_admin_bar->remove_menu('site-name'); $wp_admin_bar->remove_node('wp-logo'); $wp_admin_bar->remove_node('themes'); $wp_admin_bar->remove_node('widgets'); $wp_admin_bar->remove_node('menus'); $wp_admin_bar->remove_node('new-media'); $wp_admin_bar->remove_menu('edit-profile'); $wp_admin_bar->remove_menu('comments'); $wp_admin_bar->remove_menu('about'); $wp_admin_bar->remove_menu('wporg'); $wp_admin_bar->remove_menu('documentation'); $wp_admin_bar->remove_menu('support-forums'); $wp_admin_bar->remove_menu('feedback'); $wp_admin_bar->remove_menu('customize'); $wp_admin_bar->remove_menu('view-site'); $wp_admin_bar->remove_menu('updates'); $wp_admin_bar->remove_menu('comments'); $wp_admin_bar->remove_menu('new-content'); $wp_admin_bar->remove_menu('view'); } add_action( 'admin_init', 'srh25_remove_dashboard_meta' ); function srh25_remove_dashboard_meta() { remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_secondary', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); } add_action( 'admin_head-profile.php', 'srh25_remove_admin_color' ); function srh25_remove_admin_color() { remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' ); } add_filter('admin_footer_text', 'srh25_remove_admin_footer_text', 1000); function srh25_remove_admin_footer_text(){return '';} add_filter('update_footer', 'srh25_remove_admin_footer_upgrade', 1000); function srh25_remove_admin_footer_upgrade(){return '';} /*********************************************************** ###################### Log In/Out ########################## ************************************************************/ add_filter( 'login_headerurl', 'srh25_login_logo_url' ); function srh25_login_logo_url() { return home_url(); } add_filter( 'login_headertext', 'srh25_login_url_title' ); function srh25_login_url_title() { return 'SRH Physicians'; } add_action( 'login_enqueue_scripts', 'srh25_login_logo' ); function srh25_login_logo() { ?> $filetype['ext'], 'type' => $filetype['type'], 'proper_filename' => $data['proper_filename'] ]; }, 10, 4 ); add_action( 'admin_head', 'fix_svg' ); function cc_mime_types( $mimes ){ $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter( 'upload_mimes', 'cc_mime_types' ); function fix_svg() { echo ''; } /*********************************************************** #################### Edit Page Link ######################## ************************************************************/ function add_edit_link() { ob_start(); edit_post_link( __( 'Edit Page', 'textdomain' ), '
', null, 'wp-block-button__link has-accent-2-background-color has-background wp-element-button' ); return ob_get_clean(); } add_action( 'init', 'add_edit_link_shortcode' ); function add_edit_link_shortcode() { add_shortcode( 'edit-link', 'add_edit_link' ); } /*********************************************************** ################ Auto-Hide Navigation ###################### ************************************************************/ // Auto-Hide Navigation JavaScript - External File (jQuery Version) add_action( 'wp_enqueue_scripts', 'srh25_enqueue_navigation_script' ); function srh25_enqueue_navigation_script() { // Option 1: Use separate JavaScript file (ACTIVE) wp_enqueue_script( 'srh-auto-hide-nav', get_stylesheet_directory_uri() . '/js/auto-hide-nav.js', array('jquery'), '1.0.0', true ); } /*********************************************************** #################### Off Canvas Menu ####################### ************************************************************/ // Register custom block category function srh_block_categories($categories) { return array_merge( [ [ 'slug' => 'srh-blocks', 'title' => 'SRH Blocks' ], ], $categories ); } add_filter('block_categories_all', 'srh_block_categories', 10, 2); // Register the block function register_offcanvas_menu_block() { register_block_type( __DIR__ . '/blocks/offcanvas-menu', array( 'render_callback' => 'render_offcanvas_menu', 'editor_script' => 'offcanvas-menu-editor', 'editor_style' => 'offcanvas-menu-editor', 'supports' => array( 'inserter' => true, 'multiple' => true, 'parent' => array('core/navigation') ) )); // Register editor assets wp_register_script( 'offcanvas-menu-editor', get_stylesheet_directory_uri() . '/js/offcanvas-menu-editor.js', array('wp-blocks', 'wp-element'), '1.0.0' ); wp_register_style( 'offcanvas-menu-editor', get_stylesheet_directory_uri() . '/css/offcanvas-menu-editor.css', array(), '1.0.0' ); } add_action('init', 'register_offcanvas_menu_block'); // Frontend assets remain the same function enqueue_offcanvas_menu_assets() { wp_enqueue_style( 'offcanvas-menu-style', get_stylesheet_directory_uri() . '/css/offcanvas-menu.css', array(), '1.0.0' ); wp_enqueue_script( 'offcanvas-menu', get_stylesheet_directory_uri() . '/js/offcanvas-menu.js', array('jquery'), '1.0.0', true ); } add_action('wp_enqueue_scripts', 'enqueue_offcanvas_menu_assets'); function render_offcanvas_menu($attributes, $content) { $template_part = do_blocks(''); return sprintf( ' ', $template_part ); } /*********************************************************** ############### Disable External Blocks #################### ************************************************************/ remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' ); add_filter('should_load_remote_block_patterns', '__return_false'); add_filter('block_directory_enabled', '__return_false'); add_filter( 'block_editor_settings_all', function( $settings, $context ) { $settings['enableOpenverseMediaCategory'] = false; return $settings; }, 10, 2 ); /*********************************************************** ############### Disable Some Blocks ######################## ************************************************************/ function srh25_deny_list_blocks() { wp_enqueue_script( 'deny-list-blocks', get_stylesheet_directory_uri() . '/js/deny-list-blocks.js', array('wp-blocks', 'wp-dom-ready', 'wp-edit-post'), '1.0.1', true ); } add_action('enqueue_block_editor_assets', 'srh25_deny_list_blocks' ); /*********************************************************** ############### Unregister Patterns ######################## ************************************************************/ function srh25_remove_core_patterns() { remove_theme_support( 'core-block-patterns' ); } add_action( 'after_setup_theme', 'srh25_remove_core_patterns' ); /*********************************************************** ############### Hide JQuery Notice ######################### ************************************************************/ add_action('wp_default_scripts', function ($scripts) { if (!empty($scripts->registered['jquery'])) { $scripts->registered['jquery']->deps = array_diff($scripts->registered['jquery']->deps, ['jquery-migrate']); } });