academic_tutor_add( 'WPTRT\\Customize\\Section', get_theme_file_path( 'vendor/wptrt/customize-section-button/src' ) );
$Academic_Tutor_Loader->academic_tutor_register();
if ( ! function_exists( 'academic_tutor_setup' ) ) :
function academic_tutor_setup() {
/*
* Enable support for Post Formats.
*
* See: https://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array('image','video','gallery','audio',) );
load_theme_textdomain( 'academic-tutor', get_template_directory() . '/languages' );
add_theme_support( 'woocommerce' );
add_theme_support( "responsive-embeds" );
add_theme_support( "align-wide" );
add_theme_support( "wp-block-styles" );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_image_size('academic-tutor-featured-header-image', 2000, 660, true);
register_nav_menus( array(
'primary' => esc_html__( 'Primary','academic-tutor' ),
) );
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
add_theme_support( 'custom-background', apply_filters( 'academic_tutor_custom_background_args', array(
'default-color' => 'f7ebe5',
'default-image' => '',
) ) );
add_theme_support( 'customize-selective-refresh-widgets' );
add_theme_support( 'custom-logo', array(
'height' => 200,
'width' => 200,
'flex-width' => true,
) );
add_editor_style( array( '/editor-style.css' ) );
add_action('wp_ajax_saas_software_dismissable_notice', 'saas_software_dismissable_notice');
add_action( 'wp_ajax_tm-check-plugin-exists', 'tm_check_plugin_exists' );
add_action( 'wp_ajax_tm_install_and_activate_plugin', 'tm_install_and_activate_plugin' );
}
endif;
add_action( 'after_setup_theme', 'academic_tutor_setup' );
function academic_tutor_content_width() {
$GLOBALS['content_width'] = apply_filters( 'academic_tutor_content_width', 1170 );
}
add_action( 'after_setup_theme', 'academic_tutor_content_width', 0 );
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function academic_tutor_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'academic-tutor' ),
'id' => 'sidebar',
'description' => esc_html__( 'Add widgets here.', 'academic-tutor' ),
'before_widget' => '',
'before_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Sidebar 1', 'academic-tutor' ),
'id' => 'sidebar1',
'description' => esc_html__( 'Add widgets here.', 'academic-tutor' ),
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Sidebar 2', 'academic-tutor' ),
'id' => 'sidebar2',
'description' => esc_html__( 'Add widgets here.', 'academic-tutor' ),
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 1', 'academic-tutor' ),
'id' => 'academic-tutor-footer1',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 2', 'academic-tutor' ),
'id' => 'academic-tutor-footer2',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 3', 'academic-tutor' ),
'id' => 'academic-tutor-footer3',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
}
add_action( 'widgets_init', 'academic_tutor_widgets_init' );
/**
* Enqueue scripts and styles.
*/
function academic_tutor_scripts() {
wp_enqueue_style(
'inter',
academic_tutor_wptt_get_webfont_url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'), // font-family: "Inter", sans-serif;
array(),
'1.0'
);
wp_enqueue_style(
'outfit',
academic_tutor_wptt_get_webfont_url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap'), // font-family: "Outfit", sans-serif;
array(),
'1.0'
);
wp_enqueue_style(
'puppies-play',
academic_tutor_wptt_get_webfont_url('https://fonts.googleapis.com/css2?family=Puppies+Play&display=swap'), // font-family: "Puppies Play", cursive;
array(),
'1.0'
);
wp_enqueue_style( 'academic-tutor-block-editor-style', get_theme_file_uri('/assets/css/block-editor-style.css') );
// load bootstrap css
wp_enqueue_style( 'bootstrap-css', get_template_directory_uri() . '/assets/css/bootstrap.css');
wp_enqueue_style( 'academic-tutor-style', get_stylesheet_uri() );
require get_parent_theme_file_path( '/custom-option.php' );
wp_add_inline_style( 'academic-tutor-style',$academic_tutor_theme_css );
// fontawesome
wp_enqueue_style( 'fontawesome-style', get_template_directory_uri() .'/assets/css/fontawesome/css/all.css' );
wp_enqueue_script('academic-tutor-theme-js', get_template_directory_uri() . '/assets/js/theme-script.js', array('jquery'), '', true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'academic_tutor_scripts' );
/**
* Enqueue Preloader.
*/
function academic_tutor_preloader() {
$academic_tutor_theme_color_css = '';
$academic_tutor_preloader_bg_color = get_theme_mod('academic_tutor_preloader_bg_color');
$academic_tutor_preloader_dot_1_color = get_theme_mod('academic_tutor_preloader_dot_1_color');
$academic_tutor_preloader_dot_2_color = get_theme_mod('academic_tutor_preloader_dot_2_color');
$academic_tutor_preloader2_dot_color = get_theme_mod('academic_tutor_preloader2_dot_color');
$academic_tutor_logo_max_height = get_theme_mod('academic_tutor_logo_max_height');
$academic_tutor_scroll_bg_color = get_theme_mod('academic_tutor_scroll_bg_color');
$academic_tutor_scroll_color = get_theme_mod('academic_tutor_scroll_color');
$academic_tutor_scroll_font_size = get_theme_mod('academic_tutor_scroll_font_size');
$academic_tutor_scroll_border_radius = get_theme_mod('academic_tutor_scroll_border_radius');
$academic_tutor_related_product_display_setting = get_theme_mod('academic_tutor_related_product_display_setting', true);
if(get_theme_mod('academic_tutor_logo_max_height') == '') {
$academic_tutor_logo_max_height = '200';
}
if(get_theme_mod('academic_tutor_preloader_bg_color') == '') {
$academic_tutor_preloader_bg_color = '#1CB098';
}
if(get_theme_mod('academic_tutor_preloader_dot_1_color') == '') {
$academic_tutor_preloader_dot_1_color = '#ffffff';
}
if(get_theme_mod('academic_tutor_preloader_dot_2_color') == '') {
$academic_tutor_preloader_dot_2_color = '#222222';
}
// Start CSS build
$academic_tutor_theme_color_css = '';
if (!$academic_tutor_related_product_display_setting) {
$academic_tutor_theme_color_css .= '
.related.products,
.related h2 {
display: none !important;
}
';
}
$academic_tutor_theme_color_css .= '
.custom-logo-link img{
max-height: '.esc_attr($academic_tutor_logo_max_height).'px;
}
.loading{
background-color: '.esc_attr($academic_tutor_preloader_bg_color).';
}
@keyframes loading {
0%,
100% {
transform: translatey(-2.5rem);
background-color: '.esc_attr($academic_tutor_preloader_dot_1_color).';
}
50% {
transform: translatey(2.5rem);
background-color: '.esc_attr($academic_tutor_preloader_dot_2_color).';
}
}
.load hr {
background-color: '.esc_attr($academic_tutor_preloader2_dot_color).';
}
a#button{
background-color: '.esc_attr($academic_tutor_scroll_bg_color).';
color: '.esc_attr($academic_tutor_scroll_color).' !important;
font-size: '.esc_attr($academic_tutor_scroll_font_size).'px;
border-radius: '.esc_attr($academic_tutor_scroll_border_radius).'%;
}
';
wp_add_inline_style( 'academic-tutor-style',$academic_tutor_theme_color_css );
}
add_action( 'wp_enqueue_scripts', 'academic_tutor_preloader' );
function academic_tutor_sanitize_select( $input, $setting ){
$input = sanitize_key($input);
$choices = $setting->manager->get_control( $setting->id )->choices;
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
function academic_tutor_sanitize_checkbox( $input ) {
// Boolean check
return ( ( isset( $input ) && true == $input ) ? true : false );
}
/*radio button sanitization*/
function academic_tutor_sanitize_choices( $input, $setting ) {
global $wp_customize;
$control = $wp_customize->get_control( $setting->id );
if ( array_key_exists( $input, $control->choices ) ) {
return $input;
} else {
return $setting->default;
}
}
function academic_tutor_sanitize_number_range( $number, $setting ) {
// Ensure input is an absolute integer.
$number = absint( $number );
// Get the input attributes associated with the setting.
$atts = $setting->manager->get_control( $setting->id )->input_attrs;
// Get minimum number in the range.
$min = ( isset( $atts['min'] ) ? $atts['min'] : $number );
// Get maximum number in the range.
$max = ( isset( $atts['max'] ) ? $atts['max'] : $number );
// Get step.
$step = ( isset( $atts['step'] ) ? $atts['step'] : 1 );
// If the number is within the valid range, return it; otherwise, return the default
return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default );
}
function academic_tutor_sanitize_number_absint( $number, $setting ) {
// Ensure $number is an absolute integer (whole number, zero or greater).
$number = absint( $number );
// If the input is an absolute integer, return it; otherwise, return the default
return ( $number ? $number : $setting->default );
}
// Change number or products per row to 3
add_filter('loop_shop_columns', 'academic_tutor_loop_columns');
if (!function_exists('academic_tutor_loop_columns')) {
function academic_tutor_loop_columns() {
$columns = get_theme_mod( 'academic_tutor_products_per_row', 3 );
return $columns; // 3 products per row
}
}
//Change number of products that are displayed per page (shop page)
add_filter( 'loop_shop_per_page', 'academic_tutor_shop_per_page', 9 );
function academic_tutor_shop_per_page( $cols ) {
$cols = get_theme_mod( 'academic_tutor_product_per_page', 9 );
return $cols;
}
// Filter to change the number of related products displayed
add_filter( 'woocommerce_output_related_products_args', 'academic_tutor_products_args' );
function academic_tutor_products_args( $args ) {
$args['posts_per_page'] = get_theme_mod( 'custom_related_products_number', 6 );
$args['columns'] = get_theme_mod( 'custom_related_products_number_per_row', 3 );
return $args;
}
function academic_tutor_remove_customize_register() {
global $wp_customize;
$wp_customize->remove_setting( 'pro_version_footer_setting' );
$wp_customize->remove_control( 'pro_version_footer_setting' );
}
add_action( 'customize_register', 'academic_tutor_remove_customize_register', 11 );
if ( class_exists( 'WP_Customize_Control' ) ) {
// Image Toggle Radio Buttpon
class Academic_Tutor_Image_Radio_Control extends WP_Customize_Control {
public function render_content() {
if (empty($this->choices))
return;
$name = '_customize-radio-' . $this->id;
?>
label); ?>
theme_location == 'primary' && isset( $args->show_toggles ) ) {
// Wrap the menu item link contents in a div, used for positioning
$args->before = '';
} elseif ( $args->theme_location == 'primary' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) ) {
$args->before = '';
$args->after = '
';
} else {
$args->before = '';
$args->after = '';
}
}
return $args;
}
endif;
add_filter( 'nav_menu_item_args', 'academic_tutor_sub_menu_toggle_button', 10, 3 );
if ( ! function_exists( 'academic_tutor_file_link_setup' ) ) :
function academic_tutor_file_link_setup() {
define( 'FREE_MNSSP_API_URL', 'https://license.themagnifico.net/api/general/' );
if ( ! defined( 'ACADEMIC_TUTOR_CONTACT_SUPPORT' ) ) {
define('ACADEMIC_TUTOR_CONTACT_SUPPORT',__('https://wordpress.org/support/theme/academic-tutor/','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_REVIEW' ) ) {
define('ACADEMIC_TUTOR_REVIEW',__('https://wordpress.org/support/theme/academic-tutor/reviews/','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_LIVE_DEMO' ) ) {
define('ACADEMIC_TUTOR_LIVE_DEMO',__('https://demo.themagnifico.net/academic-tutor/','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_GET_PREMIUM_PRO' ) ) {
define('ACADEMIC_TUTOR_GET_PREMIUM_PRO',__('https://www.themagnifico.net/products/education-wordpress-theme-bundle','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_PRO_DOC' ) ) {
define('ACADEMIC_TUTOR_PRO_DOC',__('https://demo.themagnifico.net/eard/wathiqa/lms-education-study-pro-doc/','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_FREE_DOC' ) ) {
define('ACADEMIC_TUTOR_FREE_DOC',__('https://demo.themagnifico.net/eard/wathiqa/academic-tutor-free-doc/','academic-tutor'));
}
if ( ! defined( 'ACADEMIC_TUTOR_BUNDLE_LINK' ) ) {
define('ACADEMIC_TUTOR_BUNDLE_LINK',__('https://www.themagnifico.net/products/wordpress-theme-bundle','academic-tutor'));
}
}
endif;
add_action( 'after_setup_theme', 'academic_tutor_file_link_setup' );
function tm_install_and_activate_plugin() {
$post_plugin_details = $_POST['plugin_details'];
$plugin_text_domain = $post_plugin_details['plugin_text_domain'];
$plugin_main_file = $post_plugin_details['plugin_main_file'];
$plugin_url = $post_plugin_details['plugin_url'];
$plugin = array(
'text_domain' => $plugin_text_domain,
'path' => $plugin_url,
'install' => $plugin_text_domain . '/' . $plugin_main_file
);
wp_cache_flush();
$plugin_path = plugin_basename( trim( $plugin['install'] ) );
$activate_plugin = activate_plugin( $plugin_path );
if($activate_plugin) {
echo $activate_plugin;
} else {
echo $activate_plugin;
}
$msg = 'installed';
$response = array( 'status' => true, 'msg' => $msg );
wp_send_json( $response );
exit;
}
function tm_check_plugin_exists() {
$plugin_text_domain = $_POST['plugin_text_domain'];
$main_plugin_file = $_POST['main_plugin_file'];
$plugin_path = $plugin_text_domain . '/' . $main_plugin_file;
$get_plugins = get_plugins();
$is_plugin_installed = false;
$activation_status = false;
if ( isset( $get_plugins[$plugin_path] ) ) {
$is_plugin_installed = true;
$activation_status = is_plugin_active( $plugin_path );
}
wp_send_json_success(
array(
'install_status' => $is_plugin_installed,
'active_status' => $activation_status,
'plugin_path' => $plugin_path,
'plugin_slug' => $plugin_text_domain
)
);
}
/**
* Get CSS
*/
function academic_tutor_getpage_css($hook) {
wp_register_script( 'admin-notice-script', get_template_directory_uri() . '/inc/admin/js/admin-notice-script.js', array( 'jquery' ) );
wp_localize_script('admin-notice-script','academic_tutor',
array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('academic_tutor_dismissed_notice_nonce')
)
);
wp_enqueue_script('admin-notice-script');
wp_localize_script( 'admin-notice-script', 'academic_tutor_ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )
);
if ( 'appearance_page_academic-tutor-info' != $hook ) {
return;
}
}
add_action( 'admin_enqueue_scripts', 'academic_tutor_getpage_css' );
//Admin Notice For Getstart
function academic_tutor_ajax_notice_handler() {
if (!wp_verify_nonce($_POST['wpnonce'], 'academic_tutor_dismissed_notice_nonce')) {
exit;
}
if ( isset( $_POST['type'] ) ) {
$type = sanitize_text_field( wp_unslash( $_POST['type'] ) );
update_option( 'dismissed-' . $type, TRUE );
}
}
add_action( 'wp_ajax_academic_tutor_dismissed_notice_handler', 'academic_tutor_ajax_notice_handler' );
function academic_tutor_deprecated_hook_admin_notice() {
$academic_tutor_dismissed = get_user_meta(get_current_user_id(), 'academic_tutor_dismissable_notice', true);
if ( !$academic_tutor_dismissed) { ?>
'000000', // Example: change header text color
'background_color' => 'ffffff', // Example: change background color
'custom_logo' => 123, // Example: set a custom logo by attachment ID
'footer_text' => 'Custom Footer Text', // Example: custom footer text
);
// Call the function to import theme mods
if (academic_tutor_demo_theme_importer($theme_mods_data)) {
// After importing theme mods, create the menu
academic_tutor_create_demo_menu();
wp_send_json_success(array(
'msg' => 'Theme mods imported successfully.',
'redirect' => home_url()
));
} else {
wp_send_json_error('Failed to import theme mods.');
}
wp_die();
}
// Function to set theme mods
function academic_tutor_demo_theme_importer($import_data) {
if (is_array($import_data)) {
foreach ($import_data as $mod_name => $mod_value) {
set_theme_mod($mod_name, $mod_value);
}
return true;
} else {
return false;
}
}
// Function to create demo menu
function academic_tutor_create_demo_menu() {
// Define menu with page hierarchy
$menu_structure = [
[
'title' => 'Home',
'slug' => 'home',
'template' => 'page-template/home-template.php',
],
[
'title' => 'About',
'slug' => 'about',
],
[
'title' => 'Services',
'slug' => 'services',
'children' => [
['title' => 'Web Design', 'slug' => 'web-design'],
['title' => 'Marketing', 'slug' => 'marketing'],
]
],
[
'title' => 'Blog',
'slug' => 'blog',
],
[
'title' => 'Contact',
'slug' => 'contact',
],
];
$created_pages = [];
// Create menus if not exist
$menu_name = 'Primary Menu';
$location = 'primary';
$menu = wp_get_nav_menu_object($menu_name);
if (!$menu) {
$menu_id = wp_create_nav_menu($menu_name);
} else {
$menu_id = $menu->term_id;
}
// Recursive function to create pages + menu items
$create_page_and_menu = function($item, $parent_menu_id = 0, $parent_page_id = 0) use (&$create_page_and_menu, &$created_pages, $menu_id) {
// Create page if not exists
$page = get_page_by_title($item['title']);
if (!$page) {
$page_id = wp_insert_post([
'post_title' => $item['title'],
'post_type' => 'page',
'post_status' => 'publish',
'post_name' => $item['slug'],
'post_parent' => $parent_page_id,
]);
if (!empty($item['template'])) {
update_post_meta($page_id, '_wp_page_template', $item['template']);
}
} else {
$page_id = $page->ID;
}
$created_pages[$item['title']] = $page_id;
// Add to menu
$menu_item_id = wp_update_nav_menu_item($menu_id, 0, [
'menu-item-title' => $item['title'],
'menu-item-object' => 'page',
'menu-item-object-id' => $page_id,
'menu-item-type' => 'post_type',
'menu-item-parent-id' => $parent_menu_id,
'menu-item-status' => 'publish'
]);
// If has children → repeat
if (!empty($item['children'])) {
foreach ($item['children'] as $child) {
$create_page_and_menu($child, $menu_item_id, $page_id);
}
}
};
// Loop through menu structure to generate everything
foreach ($menu_structure as $item) {
$create_page_and_menu($item);
}
// Set homepage
if (!empty($created_pages['Home'])) {
update_option('page_on_front', $created_pages['Home']);
update_option('show_on_front', 'page');
}
// Set blog page
if (!empty($created_pages['Blog'])) {
update_option('page_for_posts', $created_pages['Blog']);
}
// Assign menu to theme location
$locations = get_theme_mod('nav_menu_locations');
$locations[$location] = $menu_id;
set_theme_mod('nav_menu_locations', $locations);
//Top Header
set_theme_mod( 'academic_tutor_header_search_setting', true );
set_theme_mod( 'academic_tutor_header_btn_text', 'Login' );
set_theme_mod( 'academic_tutor_header_btn_url', '#' );
//Banner
set_theme_mod( 'academic_tutor_banner_section_setting', true );
set_theme_mod( 'academic_tutor_banner_extra_heading', 'WELCOME TO EDUCATION PLACE' );
set_theme_mod( 'academic_tutor_banner_heading', 'Build The Skills To Drive Your Career' );
set_theme_mod( 'academic_tutor_banner_content', 'It Is A Long Established Fact That A Reader Will Be Distracted By The Readable Content Of A Page When Looking At Its Layout.' );
set_theme_mod( 'academic_tutor_banner_btn_text', 'Start Learning Now' );
set_theme_mod( 'academic_tutor_banner_btn_url', '#' );
set_theme_mod( 'academic_tutor_banner_review_head', '12 M+' );
set_theme_mod( 'academic_tutor_banner_review_text', 'Clients Review' );
set_theme_mod( 'academic_tutor_banner_class_count', '2K+' );
set_theme_mod( 'academic_tutor_banner_class_text', 'Active Classes' );
set_theme_mod( 'academic_tutor_banner_admission_count', '20%' );
set_theme_mod( 'academic_tutor_banner_admission_text', 'In Admission Free' );
set_theme_mod( 'academic_tutor_banner_review_img1', get_template_directory_uri().'/assets/img/review-img1.png' );
set_theme_mod( 'academic_tutor_banner_review_img2', get_template_directory_uri().'/assets/img/review-img2.png' );
set_theme_mod( 'academic_tutor_banner_review_img3', get_template_directory_uri().'/assets/img/review-img3.png' );
set_theme_mod( 'academic_tutor_banner_review_img4', get_template_directory_uri().'/assets/img/review-img4.png' );
// Service
set_theme_mod( 'academic_tutor_service_section_setting', true );
set_theme_mod( 'academic_tutor_banner_courses_count', '10%' );
set_theme_mod( 'academic_tutor_banner_courses_text', 'Certified Courses' );
set_theme_mod( 'academic_tutor_banner_about_img1', get_template_directory_uri().'/assets/img/about1.png' );
set_theme_mod( 'academic_tutor_banner_about_img2', get_template_directory_uri().'/assets/img/about2.png' );
set_theme_mod( 'academic_tutor_banner_about_img3', get_template_directory_uri().'/assets/img/about3.png' );
set_theme_mod( 'academic_tutor_banner_about_img4', get_template_directory_uri().'/assets/img/about4.png' );
set_theme_mod( 'academic_tutor_banner_experience_count', '20+' );
set_theme_mod( 'academic_tutor_banner_experience_text', 'Year Of Experience' );
set_theme_mod( 'academic_tutor_service_short_heading', 'About Us' );
set_theme_mod( 'academic_tutor_service_heading', 'Inspiring Todays Student To Succeed In Tomorrows World' );
set_theme_mod( 'academic_tutor_about_content', 'Lorem Ipsum is Simply Dummy Text Of The Printing And Typesetting Industry. Lorem Ipsum Has Been The Industry is Standard Dummy Text Ever Since The 1500s, When An Unknown Printer Took A Galley Of Type And Scrambled It To Make A Type Book.' );
// Set total number of service points
set_theme_mod( 'academic_tutor_service_number', 5 );
// Array of 5 different demo sentences
$academic_tutor_demo_points = array(
'Get Access To 4,000+ Of Our Top Courses',
'Popular Topics To Learn Now.',
'Find The Right Instructor For You.',
'Multiple Course Participation.',
'Vert Fast & So Easy To Create',
);
// Loop through array and save theme mods
for ( $i = 1; $i <= 5; $i++ ) {
set_theme_mod(
'academic_tutor_about_points' . $i,
$academic_tutor_demo_points[ $i - 1 ]
);
}
set_theme_mod( 'academic_tutor_about_admin_img', get_template_directory_uri().'/assets/img/adminn.png' );
set_theme_mod( 'academic_tutor_banner_admin_count', 'Gloria Rose' );
set_theme_mod( 'academic_tutor_banner_admin_text', 'Best Teacher' );
set_theme_mod( 'academic_tutor_about_cursive_text', 'Gloria Rose' );
set_theme_mod( 'academic_tutor_banner_about_btn_text', 'More About Us' );
set_theme_mod( 'academic_tutor_about_btn_url', '#' );
}
// Enqueue necessary scripts
add_action('admin_enqueue_scripts', 'academic_tutor_demo_importer_enqueue_scripts');
function academic_tutor_demo_importer_enqueue_scripts() {
wp_enqueue_script(
'demo-theme-importer',
get_template_directory_uri() . '/assets/js/theme-importer.js', // Path to your JS file
array('jquery'),
null,
true
);
wp_enqueue_style('demo-importer-style', get_template_directory_uri() . '/assets/css/importer.css', array(), '');
// Localize script to pass AJAX URL to JS
wp_localize_script(
'demo-theme-importer',
'demoImporter',
array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('theme_importer_nonce')
)
);
}
/**
* Theme Info.
*/
function Academic_Tutor_Theme_Info_load() {
require get_theme_file_path( '/inc/theme-installation/theme-installation.php' );
}
add_action( 'init', 'Academic_Tutor_Theme_Info_load' );
// Getstart Function
function free_mnssp_get_filtered_products($cursor = '', $search = '', $collection = 'pro') {
$endpoint_url = FREE_MNSSP_API_URL . 'getFilteredProducts';
$remote_post_data = array(
'collectionHandle' => $collection,
'productHandle' => $search,
'paginationParams' => array(
"first" => 12,
"afterCursor" => $cursor,
"beforeCursor" => "",
"reverse" => true
)
);
$body = wp_json_encode($remote_post_data);
$options = [
'body' => $body,
'headers' => [
'Content-Type' => 'application/json'
]
];
$response = wp_remote_post($endpoint_url, $options);
if (!is_wp_error($response)) {
$response_body = wp_remote_retrieve_body($response);
$response_body = json_decode($response_body);
if (isset($response_body->data) && !empty($response_body->data)) {
if (isset($response_body->data->products) && !empty($response_body->data->products)) {
return array(
'products' => $response_body->data->products,
'pagination' => $response_body->data->pageInfo
);
}
}
return [];
}
return [];
}
function free_mnssp_get_filtered_products_ajax() {
$cursor = isset($_POST['cursor']) ? sanitize_text_field(wp_unslash($_POST['cursor'])) : '';
$search = isset($_POST['search']) ? sanitize_text_field(wp_unslash($_POST['search'])) : '';
$collection = isset($_POST['collection']) ? sanitize_text_field(wp_unslash($_POST['collection'])) : 'pro';
check_ajax_referer('free_mnssp_create_pagination_nonce_action', 'mnssp_pagination_nonce');
$get_filtered_products = free_mnssp_get_filtered_products($cursor, $search, $collection);
ob_start();
if (isset($get_filtered_products['products']) && !empty($get_filtered_products['products'])) {
foreach ( $get_filtered_products['products'] as $product ) {
$product_obj = $product->node;
if (isset($product_obj->inCollection) && !$product_obj->inCollection) {
continue;
}
$product_obj = $product->node;
$demo_url = isset($product->node->metafield->value) ? $product->node->metafield->value : '';
$product_url = isset($product->node->onlineStoreUrl) ? $product->node->onlineStoreUrl : '';
$image_src = isset($product->node->images->edges[0]->node->src) ? $product->node->images->edges[0]->node->src : '';
$price = isset($product->node->variants->edges[0]->node->price) ? '$' . $product->node->variants->edges[0]->node->price : ''; ?>
$output,
'pagination' => $pagination
));
}
add_action('wp_ajax_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
add_action('wp_ajax_nopriv_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
function free_mnssp_get_collections() {
$endpoint_url = FREE_MNSSP_API_URL . 'getCollections';
$options = [
'body' => [],
'headers' => [
'Content-Type' => 'application/json'
]
];
$response = wp_remote_post($endpoint_url, $options);
if (!is_wp_error($response)) {
$response_body = wp_remote_retrieve_body($response);
$response_body = json_decode($response_body);
if (isset($response_body->data) && !empty($response_body->data)) {
return $response_body->data;
}
return [];
}
return [];
}