config = $config;
$this->prepare_class();
/*admin menu*/
add_action( 'admin_menu', array( $this, 'kt_admin_menu' ) );
/* enqueue script and style for about page */
add_action( 'admin_enqueue_scripts', array( $this, 'style_and_scripts' ) );
/* ajax callback for dismissable required actions */
add_action( 'wp_ajax_kt_theme_info_update_recommended_action', array( $this, 'update_recommended_action_callback' ) );
}
/**
* Prepare and setup class properties.
*/
public function prepare_class() {
$theme = wp_get_theme();
if ( is_child_theme() ) {
$this->theme_name = $theme->parent()->get( 'Name' );
} else {
$this->theme_name = $theme->get( 'Name' );
}
$this->theme_slug = $theme->get_template();
$this->theme_version = $theme->get( 'Version' );
$this->page_title = isset( $this->config['page_title'] ) ? $this->config['page_title'] : esc_html__('Info','blogberg'). $this->theme_name;
$this->menu_title = isset( $this->config['menu_title'] ) ? $this->config['menu_title'] : esc_html__('Info','blogberg') . $this->theme_name;
$this->tabs = isset( $this->config['tabs'] ) ? $this->config['tabs'] : array();
}
/**
* Return the valid array of recommended actions.
* @return array The valid array of recommended actions.
*/
/**
* Dismiss required actions
*/
public function update_recommended_action_callback() {
/*getting for provided array*/
$recommended_actions = isset( $this->config['recommended_actions'] ) ? $this->config['recommended_actions'] : array();
/*from js action*/
$action_id = esc_attr( ( isset( $_GET['id'] ) ) ? $_GET['id'] : 0 );
$todo = esc_attr( ( isset( $_GET['todo'] ) ) ? $_GET['todo'] : '' );
/*getting saved actions*/
$saved_actions = get_option( $this->theme_slug . '_recommended_actions' );
echo esc_html( wp_unslash( $action_id ) ); /* this is needed and it's the id of the dismissable required action */
if ( ! empty( $action_id ) ) {
if( 'reset' == $todo ){
$saved_actions_new = array();
if ( ! empty( $recommended_actions ) ) {
foreach ( $recommended_actions as $recommended_action ) {
$saved_actions[ $recommended_action['id'] ] = true;
}
update_option( $this->theme_slug . '_recommended_actions', $saved_actions_new );
}
}
/* if the option exists, update the record for the specified id */
elseif ( !empty( $saved_actions) and is_array( $saved_actions ) ) {
switch ( esc_html( $todo ) ) {
case 'add';
$saved_actions[ $action_id ] = true;
break;
case 'dismiss';
$saved_actions[ $action_id ] = false;
break;
}
update_option( $this->theme_slug . '_recommended_actions', $saved_actions );
/* create the new option,with false for the specified id */
}
else {
$saved_actions_new = array();
if ( ! empty( $recommended_actions ) ) {
foreach ( $recommended_actions as $recommended_action ) {
echo $recommended_action['id'];
echo " ".$todo;
if ( $recommended_action['id'] == $action_id ) {
switch ( esc_html( $todo ) ) {
case 'add';
$saved_actions_new[ $action_id ] = true;
break;
case 'dismiss';
$saved_actions_new[ $action_id ] = false;
break;
}
}
}
}
update_option( $this->theme_slug . '_recommended_actions', $saved_actions_new );
}
}
exit;
}
private function get_recommended_actions() {
$saved_actions = get_option( $this->theme_slug . '_recommended_actions' );
if ( ! is_array( $saved_actions ) ) {
$saved_actions = array();
}
$recommended_actions = isset( $this->config['recommended_actions'] ) ? $this->config['recommended_actions'] : array();
$valid = array();
if( isset( $recommended_actions ) && is_array( $recommended_actions ) ){
foreach ( $recommended_actions as $recommended_action ) {
if (
(
! isset( $recommended_action['check'] ) ||
( isset( $recommended_action['check'] ) && ( $recommended_action['check'] == false ) )
)
&&
( ! isset( $saved_actions[ $recommended_action['id'] ] ) ||
( isset( $saved_actions[ $recommended_action['id']] ) && ($saved_actions[ $recommended_action['id']] == true ) )
)
) {
$valid[] = $recommended_action;
}
}
}
return $valid;
}
private function count_recommended_actions() {
$count = 0;
$actions_count = $this->get_recommended_actions();
if ( ! empty( $actions_count ) ) {
$count = count( $actions_count );
}
return $count;
}
/**
* Adding Theme Info Menu under Appearance.
*/
function kt_admin_menu() {
if ( ! empty( $this->page_title ) && ! empty( $this->menu_title ) ) {
$count = $this->count_recommended_actions();
$menu_title = $count > 0 ? $this->menu_title . '' . esc_html( $count ) . '' : $this->menu_title;
/* Example
* add_theme_page('My Plugin Theme', 'My Plugin', 'edit_theme_options', 'my-unique-identifier', 'my_plugin_function');
* */
add_theme_page( $this->page_title, $menu_title, 'edit_theme_options', $this->theme_slug . '-info', array(
$this,
'kt_theme_info_screen',
) );
}
}
/**
* Render the info content screen.
*/
public function kt_theme_info_screen() {
if ( ! empty( $this->config['info_title'] ) ) {
$welcome_title = $this->config['info_title'];
}
if ( ! empty( $this->config['info_content'] ) ) {
$welcome_content = $this->config['info_content'];
}
if ( ! empty( $this->config['quick_links'] ) ) {
$quick_links = $this->config['quick_links'];
}
if (
! empty( $welcome_title ) ||
! empty( $welcome_content ) ||
! empty( $quick_links ) ||
! empty( $this->tabs )
) {
echo '
';
if ( ! empty( $recommended_actions ) && is_array( $recommended_actions ) ) {
/*get saved recommend actions*/
$saved_recommended_actions = get_option( $this->theme_slug . '_recommended_actions' );
/*defaults values for getting_started array */
$defaults = array(
'title' => '',
'desc' => '',
'check' => false,
'plugin_slug' => '',
'id' => ''
);
foreach ( $recommended_actions as $action_key => $action_value ) {
$instance = wp_parse_args( (array) $action_value, $defaults );
/*allowed 5 value in array */
$title = $instance[ 'title' ];
$desc = $instance[ 'desc' ];
$check = $instance[ 'check' ];
$plugin_slug = $instance[ 'plugin_slug' ];
$id = $instance[ 'id' ];
$hidden = false;
/*magic check for recommended actions*/
if (
isset( $saved_recommended_actions[ $id ] ) &&
$saved_recommended_actions[ $id ] == false ) {
$hidden = true;
}
if ( $hidden ) {
//continue;
}
$done = '';
if ( $check ) {
$done = 'done';
}
echo "
";
if ( ! $hidden ) {
echo '
';
} else {
echo '
';
}
if ( ! empty( $title) ) {
echo '
' . wp_kses_post( $title ) . '
';
}
if ( ! empty( $desc ) ) {
echo '
' . wp_kses_post( $desc ) . '
';
}
if ( ! empty( $plugin_slug ) ) {
$active = $this->check_plugin_status( $action_value['plugin_slug'] );
$url = $this->create_action_link( $active['needs'], $action_value['plugin_slug'] );
$label = '';
$class = '';
switch ( $active['needs'] ) {
case 'install':
$class = 'install-now button';
$label = esc_html__( 'Install', 'blogberg' );
break;
case 'activate':
$class = 'activate-now button button-primary';
$label = esc_html__( 'Activate', 'blogberg' );
break;
case 'deactivate':
$class = 'deactivate-now button';
$label = esc_html__( 'Deactivate', 'blogberg' );
break;
}
?>
';
$hooray = false;
}
}
if ( $hooray ){
echo '
' . esc_html__( 'Hooray! There are no recommended actions for you right now.', 'blogberg' ) . '';
echo '
'.esc_html__('Show All Recommended Actions','blogberg').'';
}
echo '
';
}
}
/**
* Recommended plugins tab
*/
/*
* Call plugin api
*/
public function call_plugin_api( $slug ) {
include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
if ( false === ( $call_api = get_transient( 'kt_theme_info_plugin_information_transient_' . $slug ) ) ) {
$call_api = plugins_api( 'plugin_information', array(
'slug' => $slug,
'fields' => array(
'downloaded' => false,
'rating' => false,
'description' => false,
'short_description' => true,
'donate_link' => false,
'tags' => false,
'sections' => true,
'homepage' => true,
'added' => false,
'last_updated' => false,
'compatibility' => false,
'tested' => false,
'requires' => false,
'downloadlink' => false,
'icons' => true
)
) );
set_transient( 'kt_theme_info_plugin_information_transient_' . $slug, $call_api, 30 * MINUTE_IN_SECONDS );
}
return $call_api;
}
public function get_plugin_icon( $arr ) {
if ( ! empty( $arr['svg'] ) ) {
$plugin_icon_url = $arr['svg'];
} elseif ( ! empty( $arr['2x'] ) ) {
$plugin_icon_url = $arr['2x'];
} elseif ( ! empty( $arr['1x'] ) ) {
$plugin_icon_url = $arr['1x'];
} else {
$plugin_icon_url = get_template_directory_uri() . '/assets/placeholder_plugin.png';
}
return $plugin_icon_url;
}
public function recommended_plugins() {
$recommended_plugins = $this->config['recommended_plugins'];
if ( ! empty( $recommended_plugins ) ) {
if ( ! empty( $recommended_plugins ) && is_array( $recommended_plugins ) ) {
echo '
';
foreach ( $recommended_plugins as $recommended_plugins_item ) {
if ( ! empty( $recommended_plugins_item['slug'] ) ) {
$info = $this->call_plugin_api( $recommended_plugins_item['slug'] );
if ( ! empty( $info->icons ) ) {
$icon = $this->get_plugin_icon( $info->icons );
}
$active = $this->check_plugin_status( $recommended_plugins_item['slug'] );
if ( ! empty( $active['needs'] ) ) {
$url = $this->create_action_link( $active['needs'], $recommended_plugins_item['slug'] );
}
echo '
';
if ( ! empty( $icon ) ) {
echo '
';
}
if ( ! empty( $info->version ) ) {
echo '
'. ( ! empty( $this->config['recommended_plugins']['version_label'] ) ? esc_html( $this->config['recommended_plugins']['version_label'] ) : '' ) . esc_html( $info->version ).'';
}
if ( ! empty( $info->author ) ) {
echo '
| ' . wp_kses_post( $info->author );
}
if ( ! empty( $info->name ) && ! empty( $active ) ) {
echo '
';
echo '' . ( ( $active['needs'] !== 'install' && $active['status'] ) ? 'Active: ' : '' ) . esc_html( $info->name ) . '';
echo '
';
$label = '';
switch ( $active['needs'] ) {
case 'install':
$class = 'install-now button';
$label = esc_html__( 'Install', 'blogberg' );
break;
case 'activate':
$class = 'activate-now button button-primary';
$label = esc_html__( 'Activate', 'blogberg' );
break;
case 'deactivate':
$class = 'deactivate-now button';
$label = esc_html__( 'Deactivate', 'blogberg' );
break;
}
echo '
';
echo '' . esc_html( $label ) . '';
echo '';
}
echo '
';
}
}
echo '
';
}
}
}
/**
* Child themes
*/
public function child_themes() {
echo '
';
$child_themes = isset( $this->config['child_themes'] ) ? $this->config['child_themes'] : array();
if ( ! empty( $child_themes ) ) {
/*defaults values for child theme array */
$defaults = array(
'title' => '',
'screenshot' => '',
'download_link'=> '',
'preview_link' => ''
);
if ( ! empty( $child_themes ) && is_array( $child_themes ) ) {
echo '
';
$i = 0;
foreach ( $child_themes as $child_theme ){
$instance = wp_parse_args( (array) $child_theme, $defaults );
/*allowed 5 value in array */
$title = $instance[ 'title' ];
$screenshot = $instance[ 'screenshot'];
$download_link = $instance[ 'download_link'];
$preview_link = $instance[ 'preview_link'];
if( !empty( $screenshot) ){
echo '
';
echo '
';
echo '
';
if ( ! empty( $title ) ) {
echo '
';
}
echo "
";
echo "
";
$i++;
}
if( 0 == $i % 3 ){
echo "
";/*.kt-about-row end-start*/
}
}
echo '
';/*.kt-about-row end*/
}// End if().
}// End if().
echo '
';
}
/**
* Support tab
*/
public function support() {
echo '
';
if ( ! empty( $this->config['support_content'] ) ) {
$supports = $this->config['support_content'];
if ( ! empty( $supports ) ) {
/*defaults values for child theme array */
$defaults = array(
'title' => '',
'icon' => '',
'desc' => '',
'button_label' => '',
'button_link' => '',
'is_button' => true,
'is_new_tab' => true
);
foreach ( $supports as $support ) {
$instance = wp_parse_args( (array) $support, $defaults );
/*allowed 7 value in array */
$title = $instance[ 'title' ];
$icon = $instance[ 'icon'];
$desc = $instance[ 'desc'];
$button_label = $instance[ 'button_label'];
$button_link = $instance[ 'button_link'];
$is_button = $instance[ 'is_button'];
$is_new_tab = $instance[ 'is_new_tab'];
echo '
';
if ( ! empty( $title ) ) {
echo '
';
if ( ! empty( $icon ) ) {
echo '';
}
echo $title;
echo '
';
}
if ( ! empty( $desc ) ) {
echo '
' . $desc . '
';
}
if ( ! empty( $button_link ) && ! empty( $button_label ) ) {
echo '
';
$button_class = '';
if ( $is_button ) {
$button_class = 'button button-primary';
}
$button_new_tab = '_self';
if ( isset( $is_new_tab ) ) {
if ( $is_new_tab ) {
$button_new_tab = '_blank';
}
}
echo '' . $button_label . '';
echo '
';
}
echo '
';
}
}
}
echo '
';
}
/**
* Changelog tab
*/
private function parse_changelog() {
WP_Filesystem();
global $wp_filesystem;
$changelog = $wp_filesystem->get_contents( get_template_directory() . '/changelog.txt' );
if ( is_wp_error( $changelog ) ) {
$changelog = '';
}
return $changelog;
}
public function changelog() {
$changelog = $this->parse_changelog();
if ( ! empty( $changelog ) ) {
echo '
';
echo "
";
echo $changelog;
echo "
";
echo '
';
}
}
/**
* Free vs PRO tab
*/
public function free_pro() {
$free_pro = isset( $this->config['free_pro'] ) ? $this->config['free_pro'] : array();
if ( ! empty( $free_pro ) ) {
/*defaults values for child theme array */
$defaults = array(
'title'=> '',
'desc' => '',
'free' => '',
'pro' => '',
);
if ( ! empty( $free_pro ) && is_array( $free_pro ) ) {
echo '
';
echo '
';
echo '
';
echo '';
echo '';
echo ' | ';
echo '' . esc_html__( 'blogberg','blogberg' ) . ' | ';
echo '' . esc_html__( 'blogbergPro','blogberg' ) . ' | ';
echo '
';
echo '';
echo '';
foreach ( $free_pro as $feature ) {
$instance = wp_parse_args( (array) $feature, $defaults );
/*allowed 7 value in array */
$title = $instance[ 'title' ];
$desc = $instance[ 'desc'];
$free = $instance[ 'free'];
$pro = $instance[ 'pro'];
echo '';
if ( ! empty( $title ) || ! empty( $desc ) ) {
echo '';
if ( ! empty( $title ) ) {
echo '' . wp_kses_post( $title ) . '';
}
if ( ! empty( $desc ) ) {
echo '' . wp_kses_post( $desc ) . ' ';
}
echo ' | ';
}
if ( ! empty( $free )) {
if( 'yes' === $free ){
echo ' | ';
}
elseif ( 'no' === $free ){
echo ' | ';
}
else{
echo ''.esc_html($free ).' | ';
}
}
if ( ! empty( $pro )) {
if( 'yes' === $pro ){
echo ' | ';
}
elseif ( 'no' === $pro ){
echo ' | ';
}
else{
echo ''.esc_html($pro ).' | ';
}
}
echo '
';
}
echo '';
echo ' | ';
echo 'BlogbergPro | ';
echo '
';
echo '';
echo '
';
echo '
';
echo '
';
}
}
}
/**
* Support tab
*/
public function faq() {
echo '
';
if ( ! empty( $this->config['faq'] ) ) {
$supports = $this->config['faq'];
if ( ! empty( $supports ) ) {
/*defaults values for child theme array */
$defaults = array(
'title' => '',
'icon' => '',
'desc' => '',
'button_label' => '',
'button_link' => '',
'is_button' => true,
'is_new_tab' => true
);
foreach ( $supports as $support ) {
$instance = wp_parse_args( (array) $support, $defaults );
/*allowed 7 value in array */
$title = $instance[ 'title' ];
$icon = $instance[ 'icon'];
$desc = $instance[ 'desc'];
$button_label = $instance[ 'button_label'];
$button_link = $instance[ 'button_link'];
$is_button = $instance[ 'is_button'];
$is_new_tab = $instance[ 'is_new_tab'];
echo '
';
if ( ! empty( $title ) ) {
echo '
';
if ( ! empty( $icon ) ) {
echo '';
}
echo $title;
echo '
';
}
echo "
";
if ( ! empty( $desc ) ) {
echo '
' . $desc . '
';
}
if ( ! empty( $button_link ) && ! empty( $button_label ) ) {
echo '
';
$button_class = '';
if ( $is_button ) {
$button_class = 'button button-primary';
}
$button_new_tab = '_self';
if ( isset( $is_new_tab ) ) {
if ( $is_new_tab ) {
$button_new_tab = '_blank';
}
}
echo '' . $button_label . '';
echo '
';
}
echo "
";
echo '
';
}
}
}
echo '
';
}
/**
* Demos tab
*/
public function demos(){
if( ! empty( $this->config['demos'] ) ){
$demos= $this->config['demos'];
if( ! empty($demos) ){
/*defaults values for demos array */
$defaults = array(
'title' => '',
'desc' => '',
'recommended_actions'=> '',
'link_title' => '',
'link_url' => '',
'is_button' => false,
'is_new_tab' => false
);
echo '
';
foreach ( $demos as $demos_item ) {
/*allowed 6 value in array */
$instance = wp_parse_args( (array) $demos_item, $defaults );
/*default values*/
$title = esc_html( $instance[ 'title' ] );
$desc = wp_kses_post( $instance[ 'desc' ] );
$link_title = esc_html( $instance[ 'link_title' ] );
$link_url = esc_url( $instance[ 'link_url' ] );
$is_button = $instance[ 'is_button' ];
$is_new_tab = $instance[ 'is_new_tab' ];
echo '
';
if ( ! empty( $title ) ) {
echo '
' . $title . '
';
}
if ( ! empty( $desc ) ) {
echo '
' . $desc . '
';
}
if ( ! empty( $link_title ) && ! empty( $link_url ) ) {
echo '
';
$button_class = '';
if ( $is_button ) {
$button_class = 'button button-primary';
}
$count = $this->count_recommended_actions();
if ( $demos_item['recommended_actions'] && isset( $count ) ) {
if ( $count == 0 ) {
echo '';
} else {
echo '';
}
}
$button_new_tab = '_self';
if ( $is_new_tab ) {
$button_new_tab = '_blank';
}
echo '' . $demos_item['link_title'] . '';
echo '
';
}
echo '
';
}
echo '
';
}
}
}
/**
* Load css and scripts for the about page
*/
public function style_and_scripts( $hook_suffix ) {
// this is needed on all admin pages, not just the about page, for the badge action count in the WordPress main sidebar
wp_enqueue_style( 'kt-theme-info-css', get_template_directory_uri() . '/theme-info/assets/css/theme-info.css' );
if ( 'appearance_page_' . $this->theme_slug . '-info' == $hook_suffix ) {
wp_enqueue_script( 'kt-theme-info-js', get_template_directory_uri() . '/theme-info/assets/js/theme-info.js', array( 'jquery' ) );
wp_enqueue_style( 'plugin-install' );
wp_enqueue_script( 'plugin-install' );
wp_enqueue_script( 'updates' );
$count = $this->count_recommended_actions();
wp_localize_script( 'kt-theme-info-js', 'kt_theme_info_object', array(
'nr_actions_recommended' => $count,
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'template_directory' => get_template_directory_uri()
) );
}
}
}
}
$config = array(
// Page title.
'page_title' => esc_html__( 'Blogberg Info', 'blogberg' ),
// Menu name under Appearance.
'menu_title' => esc_html__( 'Blogberg Info', 'blogberg' ),
// Main welcome title
'info_title' => sprintf( esc_html__( 'Welcome to %s - ', 'blogberg' ), 'Blogberg' ),
// Main welcome content
'info_content' => sprintf( esc_html__( '%s is now installed and ready to use. We hope the following information will help you. If you want to ask any query or just want to say hello, you can always contact us. We hope you enjoy it! ', 'blogberg' ), '
Blogberg' ),
/**
* Quick links
*/
'quick_links' => array(
'theme_url' => array(
'text' => __('Theme Details','blogberg'),
'url' => 'https://keonthemes.com/downloads/blogberg/'
),
'demo_url' => array(
'text' => __('View Demo','blogberg'),
'url' => 'https://keonthemes.com/theme-demo/?id=Mzk4OXxibG9nYmVyZ3xCbG9nYmVyZw='
),
'pro_url' => array(
'text' => __('View Pro Version','blogberg'),
'url' => 'https://keonthemes.com/downloads/blogberg-pro/'
),
'rate_url' => array(
'text' => __('Rate This Theme','blogberg'),
'url' => 'https://wordpress.org/support/theme/blogberg/reviews/?filter=5'
),
),
'tabs' => array(
'getting_started' => __( 'Getting Started', 'blogberg' ),
'recommended_actions' => __( 'Recommended Actions', 'blogberg' ),
'recommended_plugins' => __( 'Useful Plugins','blogberg' ),
'support' => __( 'Support', 'blogberg' ),
'changelog' => __( 'Changelog', 'blogberg' ),
'faq' => __( 'FAQ', 'blogberg' ),
'free_pro' => __( 'Free VS PRO', 'blogberg' ),
'demos' => __( 'Demos', 'blogberg' ),
),
/*Getting started tab*/
'getting_started' => array(
'first' => array(
'title' => esc_html__( 'Step 1 : Read full documentation','blogberg' ),
'desc' => esc_html__( 'Please check our full documentation for detailed information on how to Setup and Use Blogberg.','blogberg' ),
'link_title' => esc_html__( 'Documentation','blogberg' ),
'link_url' => 'http://keonthemes.com/doc/blogberg/',
'is_button' => false,
'recommended_actions' => false,
'is_new_tab' => true
),
'second' => array(
'title' => esc_html__( 'Step 2 : Download Demo Files','blogberg' ),
'desc' => esc_html__( 'Download Demo files and import.','blogberg' ),
'link_title' => esc_html__( 'Download','blogberg' ),
'link_url' => 'http://keonthemes.com/doc/blogberg/#menu-2',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'third' => array(
'title' => esc_html__( 'Step 2 : Go to Customizer','blogberg' ),
'desc' => esc_html__( 'All Setting, Theme Options, Frontpage Options, Widgets and Menus are available via Customize screen.','blogberg' ),
'link_title' => esc_html__( 'Go to Customizer','blogberg' ),
'link_url' => esc_url( admin_url( 'customize.php' ) ),
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
),
// recommended actions array.
// Plugins array.
'recommended_plugins' => array(
'One Click Demo Import' => array(
'slug' => 'one-click-demo-import'
),
'Contact Form 7' => array(
'slug' => 'contact-form-7'
),
'MailChimp for WordPress' => array(
'slug' => 'mailchimp-for-wp'
),
'AddToAny Share Buttons' => array(
'slug' => 'add-to-any'
),
'Instagram Feed' => array(
'slug' => 'instagram-feed'
),
'WooCommerce' => array(
'slug' => 'woocommerce'
),
),
/*FAQ*/
'faq' => array(
'first' => array (
'title' => esc_html__( 'Does this theme support any plugins?','blogberg' ),
'desc' => esc_html__( 'Blogberg supports WooCommerce, Contact From 7 and MailChimp for WordPress.','blogberg' ),
'is_new_tab' => true
),
),
// Support content tab.
'support_content' => array(
'first' => array (
'title' => esc_html__( 'Support Forum','blogberg' ),
'desc' => esc_html__( 'Got theme support question or found bug? Best place to ask your query is our dedicated Support forum.','blogberg' ),
'button_label' => esc_html__( 'Support Forum','blogberg' ),
'button_link' => esc_url( 'https://keonthemes.com/forums/forum/blogberg/' ),
'is_button' => true,
'is_new_tab' => true
),
'second' => array(
'title' => esc_html__( 'Documentation','blogberg' ),
'desc' => esc_html__( 'Please check our full documentation for detailed information on how to Setup and Use Blogberg.','blogberg' ),
'button_label' => esc_html__( 'Read full documentation','blogberg' ),
'button_link' => 'http://keonthemes.com/doc/blogberg/',
'is_button' => false,
'is_new_tab' => true
),
'third' => array(
'title' => esc_html__( 'Need more features?','blogberg' ),
'desc' => esc_html__( 'Upgrade to PRO version for more exciting features and Priority Support.','blogberg' ),
'button_label' => esc_html__( 'View Pro Version','blogberg' ),
'button_link' => 'https://keonthemes.com/downloads/blogberg-pro',
'is_button' => true,
'is_new_tab' => true
),
'fourth' => array(
'title' => esc_html__( 'Got sales related question?','blogberg' ),
'desc' => esc_html__( "Have any query before purchase, you are more than welcome to ask.",'blogberg' ),
'button_label' => esc_html__( 'Pre-sale Question?','blogberg' ),
'button_link' => 'mailto:keonthemes@gmail.com',
'is_button' => false,
'is_new_tab' => true
),
'fifth' => array(
'title' => esc_html__( 'Customization Request','blogberg' ),
'desc' => esc_html__( 'Needed any customization for the theme, you can request from here.','blogberg' ),
'button_label' => esc_html__( 'Customization Request','blogberg' ),
'button_link' => 'https://keonthemes.com/hire-now/',
'is_button' => false,
'is_new_tab' => true
)
),
// Free vs pro array.
'free_pro' => array(
array(
'title'=> __( 'Build with Live Customizer API', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Fully Editable & Disable/Enable option', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Demo content import', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Fixed Header', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Theme Options', 'blogberg' ),
'free' => __('Basic','blogberg'),
'pro' => __('Advanced','blogberg'),
),
array(
'title'=> __( 'Theme Support', 'blogberg' ),
'free' => __('Basic','blogberg'),
'pro' => __('Premium','blogberg'),
),
array(
'title'=> __( 'Site Identity Extra Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Site Layout Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('More options','blogberg'),
),
array(
'title'=> __( 'Archive Page Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('More options','blogberg'),
),
array(
'title'=> __( 'Single Page Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('More options','blogberg'),
),
array(
'title'=> __( 'Pages Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('More options','blogberg'),
),
array(
'title'=> __( 'Post Layout Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('More options','blogberg'),
),
array(
'title'=> __( 'Sidebar Position Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Instagram Section', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Unlimited Color Options', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Custom Widget', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Thin Font Icons', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Fully Responsive Design', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Translation Ready', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Cross-Browser Compatibility', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'RTL Language Support', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Plugins Support', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Slider Section', 'blogberg' ),
'free' => __('Upto 3 items','blogberg'),
'pro' => __('Unlimited Slider Items, Advance Features','blogberg'),
),
array(
'title'=> __( 'Footer Widgets Section', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Copyright Section', 'blogberg' ),
'free' => __('yes','blogberg'),
'pro' => __('Option to Change full copyright text','blogberg'),
),
array(
'title'=> __( 'Dedicated & Priority Support', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Header Layout Options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Footer Layout Options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Page Header Layout & Image Options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Slider Type, Layout & Content Alignment', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Section Title layouts', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Feature Category Section', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Advanced Font Family Options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( '800+ Google Fonts Options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Multiple Site Preloader options', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Breadcrumb Separator Layouts', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('3 Layouts','blogberg'),
),
array(
'title'=> __( 'Coming Soon Page', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
array(
'title'=> __( 'Contact Page Template', 'blogberg' ),
'free' => __('no','blogberg'),
'pro' => __('yes','blogberg'),
),
),
//demos
'demos' => array (
'first' => array(
'title' => esc_html__( 'Blogberg ','blogberg' ),
'desc' => esc_html__ ( 'Free Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'https://keonthemes.com/theme-demo/?id=Mzk4OXxibG9nYmVyZ3xCbG9nYmVyZw=',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'second' => array(
'title' => esc_html__( 'Blogora ','blogberg' ),
'desc' => esc_html__ ( 'Free Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'http://demo.keonthemes.com/blogora/',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'third' => array(
'title' => esc_html__( 'Travelberg ','blogberg' ),
'desc' => esc_html__ ( 'Free Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'http://demo.keonthemes.com/travelberg/',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'fourth'=> array(
'title' => esc_html__( 'Blogberg Pro','blogberg' ),
'desc' => esc_html__ ( 'Pro Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'https://keonthemes.com/theme-demo/?id=Mzk3NnxibG9nYmVyZy1wcm98QmxvZ2JlcmcgUHJv',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'fifth' => array(
'title' => esc_html__( 'Blogora Pro','blogberg' ),
'desc' => esc_html__ ( 'Pro Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'http://demo.keonthemes.com/blogora-pro/',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'sixth' => array(
'title' => esc_html__( 'Travelberg Pro','blogberg' ),
'desc' => esc_html__ ( 'Pro Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'http://demo.keonthemes.com/travelberg-pro/',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
'seventh' => array(
'title' => esc_html__( 'Shopberg Pro','blogberg' ),
'desc' => esc_html__ ( 'Pro Theme Demo', 'blogberg' ),
'link_title' => esc_html__( 'View Demo','blogberg' ),
'link_url' => 'http://demo.keonthemes.com/shopberg-pro/',
'is_button' => true,
'recommended_actions' => false,
'is_new_tab' => true
),
)
);
return new blogberg_Theme_Info( $config );