'Twitch Demo', 'categories' => [ 'Twitch' ], 'import_file_url' => 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/broadcast-lite-demo-1.xml', 'import_preview_image_url' => 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/broadcast-lite-mockup-hearthstone.png', 'preview_url' => 'https://broadcast.streamweasels.com/', ], [ 'import_file_name' => 'YouTube Demo', 'categories' => [ 'YouTube' ], 'import_file_url' => 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/broadcast-lite-demo-2.xml', 'import_preview_image_url' => 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/broadcast-lite-mockup-gta.png', 'preview_url' => 'https://broadcast-2.streamweasels.com/', ] ]; } add_filter( 'ocdi/import_files', 'ocdi_import_files' ); function ocdi_register_plugins( $plugins ) { // List of plugins used by all theme demos. $theme_plugins = [ [ // A WordPress.org plugin repository example. 'name' => 'Stackable', // Name of the plugin. 'slug' => 'stackable-ultimate-gutenberg-blocks', // Plugin slug - the same as on WordPress.org plugin repository. 'required' => true, // If the plugin is required or not. ], ]; // Check if user is on the theme recommeneded plugins step and a demo was selected. if ( isset( $_GET['step'] ) && $_GET['step'] === 'import' && isset( $_GET['import'] ) ) { // Adding one additional plugin for the first demo import ('import' number = 0). if ( $_GET['import'] === '0' ) { $theme_plugins[] = [ 'name' => 'Broadcast Companion (Twitch)', 'slug' => 'broadcast-companion', 'required' => true, ]; } // List of all plugins only used by second demo import [overwrite the list] ('import' number = 1). if ( $_GET['import'] === '1' ) { $theme_plugins[] = [ 'name' => 'Broadcast Companion (YouTube)', 'slug' => 'broadcast-companion-youtube', 'required' => true, ]; } } return array_merge( $plugins, $theme_plugins ); } add_filter( 'ocdi/register_plugins', 'ocdi_register_plugins' ); function ocdi_plugin_page_setup( $default_settings ) { $default_settings['parent_slug'] = 'themes.php'; $default_settings['page_title'] = esc_html__( 'Broadcast Demo Import' , 'broadcast-lite' ); $default_settings['menu_title'] = esc_html__( 'Broadcast Demo Import' , 'broadcast-lite' ); $default_settings['capability'] = 'import'; $default_settings['menu_slug'] = 'one-click-demo-import'; return $default_settings; } add_filter( 'ocdi/plugin_page_setup', 'ocdi_plugin_page_setup' ); function ocdi_after_import_setup( $selected_import ) { if ( 'Twitch Demo' === $selected_import['import_file_name'] ) { // Assign home page $front_page_id = get_page_by_title( 'Broadcast Lite Demo 1' ); // Assign menu $main_menu = get_term_by( 'name', 'Twitch Demo Menu', 'nav_menu' ); set_theme_mod('bc_featured_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/twitch/hearthstone-bg.jpg', 1, null, 'src' )); set_theme_mod('bc_logo', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/twitch/broadcast-lite-logo.png', 1, null, 'src' )); set_theme_mod('bc_primary_font', 'Luckiest Guy'); set_theme_mod('bc_secondary_font', 'Roboto'); set_theme_mod('bc_colour_accent', '#9147ff'); set_theme_mod('bc_colour_theme', 'light'); set_theme_mod('bc_affiliate1_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/twitch-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate1_link', 'https://www.twitch.tv'); set_theme_mod('bc_affiliate2_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/weasels-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate2_link', 'https://www.streamweasels.com'); set_theme_mod('bc_affiliate3_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/youtube-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate3_link', 'https://www.youtube.com'); } if ( 'YouTube Demo' === $selected_import['import_file_name'] ) { // Assign home page $front_page_id = get_page_by_title( 'Broadcast Lite Demo 2' ); // Assign menu $main_menu = get_term_by( 'name', 'YouTube Demo Menu', 'nav_menu' ); set_theme_mod('bc_featured_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/youtube/gta-bg.jpg', 1, null, 'src' )); set_theme_mod('bc_logo', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/youtube/broadcast-lite-logo.png', 1, null, 'src' )); set_theme_mod('bc_primary_font', 'Alfa Slab One'); set_theme_mod('bc_secondary_font', 'Gentium Basic'); set_theme_mod('bc_colour_accent', '#ff0000'); set_theme_mod('bc_colour_theme', 'light'); set_theme_mod('bc_affiliate1_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/youtube-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate1_link', 'https://www.youtube.com'); set_theme_mod('bc_affiliate2_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/weasels-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate2_link', 'https://www.streamweasels.com'); set_theme_mod('bc_affiliate3_image', media_sideload_image( 'https://www.streamweasels.com/wp-content/themes/generatepress-child/demos/broadcast/twitch-250x150.png', 1, null, 'src' )); set_theme_mod('bc_affiliate3_link', 'https://www.twitch.tv'); } // Set static page and Home and Menus update_option( 'show_on_front', 'page' ); update_option( 'page_on_front', $front_page_id->ID ); set_theme_mod( 'nav_menu_locations', [ 'main-navigation' => $main_menu->term_id, // replace 'main-menu' here with the menu location identifier from register_nav_menu() function in your theme. ]); } add_action( 'ocdi/after_import', 'ocdi_after_import_setup' ); add_filter( 'ocdi/regenerate_thumbnails_in_content_import', '__return_false' );