accelerate_site_library_demo_packages(); } /** * Demo config packages */ public function accelerate_site_library_demo_packages() { $this->accelerate_site_library_get_demos(); } /** * Get the demo packages. * * @return array|mixed|null|object|string */ public static function accelerate_site_library_get_demos() { $template = 'accelerate'; $packages = get_transient( 'accelerate_site_library_theme_' . $template ); $raw_packages = wp_safe_remote_get( "https://raw.githubusercontent.com/themegrill/themegrill-demo-pack/master/configs/{$template}.json" ); if ( ! is_wp_error( $raw_packages ) ) { $packages = json_decode( wp_remote_retrieve_body( $raw_packages ) ); if ( $packages ) { set_transient( 'accelerate_site_library_theme_' . $template, $packages, WEEK_IN_SECONDS ); } } return $packages; } /** * Returns the content value filtered to display * the demos of available themes via ThemeGrill Demo Pack * config file. * * @return string The filtered post content. */ public static function accelerate_site_library_page_content() { $template = 'accelerate'; $output = ''; $demo_packages = self::accelerate_site_library_get_demos(); if ( isset( $demo_packages ) ) : $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; // Renders the theme lists. $output .= '

' . esc_html__( 'Themes list', 'accelerate' ) . '

'; $output .= '
'; $output .= '
'; foreach ( $demo_packages->demos as $demo_package_demo => $demo_package_data ) { $output .= '
'; // Inner wrapper. $output .= '
'; // Displays the theme demo screenshot. $output .= '
'; $output .= '' . esc_attr( $demo_package_demo ) . ''; $output .= '
'; // Displays the pro tag. if ( isset( $demo_package_data->isPro ) ) { $output .= ''; $output .= esc_html__( 'Pro', 'accelerate' ); $output .= ''; } // Wrap details on div. $output .= '
'; // Theme id container details. $output .= '
'; // Display the theme name. $output .= '

'; $output .= $demo_package_data->title; $output .= '

'; // Display the theme action buttons. $output .= '
'; // Import button. if ( ! isset( $demo_package_data->isPro ) ) { $output .= '' . esc_html__( 'Import', 'accelerate' ) . ''; } // Displays the preview now button. $output .= ''; $output .= esc_html__( 'Preview', 'accelerate' ); $output .= ''; // Displays the buy now button. if ( isset( $demo_package_data->isPro ) ) { $output .= ''; $output .= esc_html__( 'Buy Now', 'accelerate' ); $output .= ''; } $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; } $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; $output .= '
'; endif; return $output; } } new Accelerate_Site_Library();