post_type ) { return; } $font_files = get_post_meta( $post_id, '_wp_font_face_file', false ); if ( empty( $font_files ) ) { return; } $site_path = ''; if ( is_multisite() && ! ( is_main_network() && is_main_site() ) ) { $site_path = '/sites/' . get_current_blog_id(); } $font_dir = path_join( WP_CONTENT_DIR, 'fonts' ) . $site_path; foreach ( $font_files as $font_file ) { $font_path = $font_dir . '/' . $font_file; if ( file_exists( $font_path ) ) { wp_delete_file( $font_path ); } } } add_action( 'before_delete_post', 'gutenberg_before_delete_font_face', 10, 2 ); // Priority 11 to run after Core's menu.php sets up the fonts menu. add_action( 'admin_menu', 'gutenberg_register_fonts_menu_item', 11 ); /** * Registers the Fonts menu item under Appearance using the font-library page. * Removes Core's fonts menu item first to prevent duplication. */ function gutenberg_register_fonts_menu_item() { // Remove Core's fonts menu item if it exists. remove_submenu_page( 'themes.php', 'font-library.php' ); add_submenu_page( 'themes.php', __( 'Fonts', 'gutenberg' ), __( 'Fonts', 'gutenberg' ), 'edit_theme_options', 'font-library-wp-admin', 'gutenberg_font_library_wp_admin_render_page' ); }