config = $config; self::$instance->setup_actions(); } } } /** * Setup actions. * * @since 1.0.0 */ public function setup_actions() { // Disable branding. add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' ); // OCDI import files. add_filter( 'pt-ocdi/import_files', array( $this, 'ocdi_files' ), 99 ); // OCDI after import. add_action( 'pt-ocdi/after_import', array( $this, 'ocdi_after_import' ) ); // OCDI additional intro text. add_filter( 'pt-ocdi/plugin_intro_text', array( $this, 'additional_intro_text' ) ); } /** * OCDI files. * * @since 1.0.0 */ public function ocdi_files() { $ocdi = isset( $this->config['ocdi'] ) ? $this->config['ocdi'] : array(); return $ocdi; } /** * Intro message. * * @since 1.0.0 * * @param string $intro Intro. * @return string Modified intro. */ public function additional_intro_text( $intro ) { $intro_content = isset( $this->config['intro_content'] ) ? $this->config['intro_content'] : ''; if ( ! empty( $intro_content ) ) { $message = '
'; $message .= wp_kses_post( wpautop( $intro_content ) ); $message .= '
'; $intro .= $message; } return $intro; } /** * OCDI after import. * * @since 1.0.0 */ public function ocdi_after_import() { // Set static front page. $static_page = isset( $this->config['static_page'] ) ? $this->config['static_page'] : ''; $posts_page = isset( $this->config['posts_page'] ) ? $this->config['posts_page'] : ''; $pages = array(); if ( $static_page ) { $pages['page_on_front'] = $static_page; } if ( $posts_page ) { $pages['page_for_posts'] = $posts_page; } if ( ! empty( $pages ) ) { foreach ( $pages as $option_key => $slug ) { $result = get_page_by_path( $slug ); if ( $result ) { if ( is_array( $result ) ) { $object = array_shift( $result ); } else { $object = $result; } update_option( $option_key, $object->ID ); } } update_option( 'show_on_front', 'page' ); } // Set menu locations. $menu_details = isset( $this->config['menu_locations'] ) ? $this->config['menu_locations'] : array(); if ( ! empty( $menu_details ) ) { $nav_settings = array(); $current_menus = wp_get_nav_menus(); if ( ! empty( $current_menus ) && ! is_wp_error( $current_menus ) ) { foreach ( $current_menus as $menu ) { foreach ( $menu_details as $location => $menu_slug ) { if ( $menu->slug === $menu_slug ) { $nav_settings[ $location ] = $menu->term_id; } } } } set_theme_mod( 'nav_menu_locations', $nav_settings ); } } } } // End if().