'twitterAppIpadID' => 'twitter_app_ipad_id', 'twitterAppIpadUrl' => 'twitter_app_ipad_url', 'twitterAppGoogleplayName' => 'twitter_app_googleplay_name', 'twitterAppGoogleplayID' => 'twitter_app_googleplay_id', 'twitterAppGoogleplayUrl' => 'twitter_app_googleplay_url', 'twitterAppCountry' => 'twitter_app_country', ] ); // Generate data. $data = []; $object_id = $this->get_object_id(); $object_type = $this->get_object_type(); foreach ( $keys as $id => $key ) { $data[ $id ] = $this->get_meta( $object_type, $object_id, 'rank_math_' . $key ); } // Robots. $data['robots'] = $this->normalize_robots( $this->get_meta( $object_type, $object_id, 'rank_math_robots' ) ); // Advanced Robots. $data['advancedRobots'] = $this->normalize_advanced_robots( $this->get_meta( $object_type, $object_id, 'rank_math_advanced_robots' ) ); $data['pillarContent'] = 'on' === $data['pillarContent']; // Username, avatar & Name. $twitter_username = Helper::get_settings( 'titles.twitter_author_names' ); $data['twitterAuthor'] = $twitter_username ? $twitter_username : esc_html__( 'username', 'rank-math' ); $data['twitterUseFacebook'] = 'off' === $data['twitterUseFacebook'] ? false : true; $data['facebookHasOverlay'] = empty( $data['facebookHasOverlay'] ) || 'off' === $data['facebookHasOverlay'] ? false : true; $data['twitterHasOverlay'] = empty( $data['twitterHasOverlay'] ) || 'off' === $data['twitterHasOverlay'] ? false : true; return wp_parse_args( $this->screen->get_object_values(), $data ); } /** * Get site fav icon. * * @return string */ private function get_site_icon() { $favicon = get_site_icon_url( 16 ); return ! empty( $favicon ) ? $favicon : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVR4AWL4//8/RRjO8Iucx+noO0MWUDo16FYABMGP6ZfUcRnWtm27jVPbtm3bttuH2t3eFPcY9pLz7NxiLjCyVd87pKnHyqXyxtCs8APd0rnyxiu4qSeA3QEDrAwBDrT1s1Rc/OrjLZwqVmOSu6+Lamcpp2KKMA9PH1BYXMe1mUP5qotvXTywsOEEYHXxrY+3cqk6TMkYpNr2FeoY3KIr0RPtn9wQ2unlA+GMkRw6+9TFw4YTwDUzx/JVvARj9KaedXRO8P5B1Du2S32smzqUrcKGEyA+uAgQjKX7zf0boWHGfn71jIKj2689gxp7OAGShNcBUmLMPVjZuiKcA2vuWHHDCQxMCz629kXAIU4ApY15QwggAFbfOP9DhgBJ+nWVJ1AZAfICAj1pAlY6hCADZnveQf7bQIwzVONGJonhLIlS9gr5mFg44Xd+4S3XHoGNPdJl1INIwKyEgHckEhgTe1bGiFY9GSFBYUwLh1IkiJUbY407E7syBSFxKTszEoiE/YdrgCEayDmtaJwCI9uu8TKMuZSVfSa4BpGgzvomBR/INhLGzrqDotp01ZR8pn/1L0JN9d9XNyx0AAAAAElFTkSuQmCC'; } /** * Normalize robots. * * @param array $robots Array to normalize. * * @return array */ private function normalize_robots( $robots ) { if ( ! is_array( $robots ) || empty( $robots ) ) { $robots = Helper::get_robots_defaults(); } return array_fill_keys( $robots, true ); } /** * Normalize advanced robots. * * @param array $advanced_robots Array to normalize. * * @return array */ private function normalize_advanced_robots( $advanced_robots ) { if ( ! empty( $advanced_robots ) ) { return $advanced_robots; } return Helper::get_advanced_robots_defaults(); } /** * Return power words. * * @return array */ private function power_words() { static $words; $locale = Locale::get_site_language(); $file = rank_math()->plugin_dir() . 'assets/vendor/powerwords/' . $locale . '.php'; if ( ! file_exists( $file ) ) { return $this->do_filter( 'metabox/power_words', [], $locale ); } $words = $words ? $words : include $file; return $this->do_filter( 'metabox/power_words', array_map( 'strtolower', $words ), $locale ); } /** * Get diacritics (accents). * * @return array */ private function diacritics() { $locale = Locale::get_site_language(); $locale = in_array( $locale, [ 'en', 'de', 'ru' ], true ) ? $locale : 'en'; $file = rank_math()->plugin_dir() . 'assets/vendor/diacritics/' . $locale . '.php'; if ( ! file_exists( $file ) ) { return false; } $diacritics = include_once $file; return $this->do_filter( 'metabox/diacritics', $diacritics, $locale ); } /** * Load required screen. * * @param string $manual To load any screen manually. */ public function load_screen( $manual = '' ) { if ( Admin_Helper::is_post_edit() || 'post' === $manual || Helper::is_site_editor() ) { $this->screen = new Post_Screen(); return; } $doing_quick_edit = Param::request( 'action' ) === 'inline-save-tax'; if ( Admin_Helper::is_term_edit() || 'term' === $manual || $doing_quick_edit ) { $this->screen = new Taxonomy_Screen(); return; } if ( User_Screen::is_enable() || 'user' === $manual ) { $this->screen = new User_Screen(); return; } } }