' . "\n"; } return $tag; } add_filter( 'script_loader_tag', 'defer_scripts', 10, 3 ); /** * Remove unnecessary scripts * * @return void */ function deregister_scripts() { wp_deregister_script( 'wp-embed' ); } add_action( 'wp_footer', 'deregister_scripts' ); /** * Remove unnecessary styles * * @return void */ function deregister_styles() { wp_dequeue_style( 'wp-block-library' ); } add_action( 'wp_print_styles', 'deregister_styles', 100 ); /** * Register nav menus * * @return void */ function barebones_register_nav_menus() { register_nav_menus([ 'header' => 'Header', 'footer' => 'Footer', ]); } add_action( 'after_setup_theme', 'barebones_register_nav_menus', 0 ); /** * Nav menu args * * @param array $args * @return void */ function barebones_nav_menu_args( $args ) { $args['container'] = false; $args['container_class'] = false; $args['menu_id'] = false; $args['items_wrap'] = ''; return $args; } add_filter('wp_nav_menu_args', 'barebones_nav_menu_args'); /** * Button Shortcode * * @param array $atts * @param string $content * @return void */ function barebones_button_shortcode( $atts, $content = null ) { $atts['class'] = isset($atts['class']) ? $atts['class'] : 'btn'; return '' . $content . ''; } add_shortcode('button', 'barebones_button_shortcode'); /** * TinyMCE * * @param array $buttons * @return void */ function barebones_mce_buttons_2( $buttons ) { array_unshift( $buttons, 'styleselect' ); $buttons[] = 'hr'; return $buttons; } add_filter('mce_buttons_2', 'barebones_mce_buttons_2'); /** * TinyMCE styling * * @param array $settings * @return void */ function barebones_tiny_mce_before_init( $settings ) { $style_formats = [ [ 'title' => 'Text Sizes', 'items' => [ [ 'title' => '2XL', 'selector' => 'span, p', 'classes' => 'text-2xl' ], [ 'title' => 'XL', 'selector' => 'span, p', 'classes' => 'text-xl' ], [ 'title' => 'LG', 'selector' => 'span, p', 'classes' => 'text-lg' ], [ 'title' => 'MD', 'selector' => 'span, p', 'classes' => 'text-md' ], [ 'title' => 'SM', 'selector' => 'span, p', 'classes' => 'text-sm' ], [ 'title' => 'XD', 'selector' => 'span, p', 'classes' => 'text-xs' ], ] ] ]; $settings['style_formats'] = json_encode($style_formats); $settings['style_formats_merge'] = true; return $settings; } add_filter('tiny_mce_before_init', 'barebones_tiny_mce_before_init'); /** * Get post thumbnail url * * @param string $size * @param boolean $post_id * @param boolean $icon * @return void */ function get_post_thumbnail_url( $size = 'full', $post_id = false, $icon = false ) { if ( ! $post_id ) { $post_id = get_the_ID(); } $thumb_url_array = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), $size, $icon ); return $thumb_url_array[0]; } /** * Add Front Page edit link to admin Pages menu */ function front_page_on_pages_menu() { global $submenu; if ( get_option( 'page_on_front' ) ) { $submenu['edit.php?post_type=page'][501] = array( __( 'Front Page', 'barebones' ), 'manage_options', get_edit_post_link( get_option( 'page_on_front' ) ) ); } } add_action( 'admin_menu' , 'front_page_on_pages_menu' );