• Hi.

    I have a little problem with my ajax request to load a specific menu on the left depending on used page template.

    First, PHP on functions.php

    function reload_menu_via_ajax()
    {
         wp_enqueue_script( 'function', get_template_directory_uri().'/library/js/menuReload.js', 'jquery', true);
         wp_localize_script( 'function', 'left_menu_reload', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
    }
    add_action('template_redirect', 'reload_menu_via_ajax');
    
    $dirName = dirname(__FILE__);
    $baseName = basename(realpath($dirName));
    require_once ("$dirName/menu.php");
    
    function get_left_menu() {
    	if (is_page_template('page-akademia-biznesu.php')) {
    		echo do_shortcode('[dcwp-jquery-accordion menu="Business menu" auto_close="true" event="click" save="true" disable="false" count="false" expand="false" disable_class="disabled"]');
    	} elseif (is_page_template('page-forum-wiedzy-oze.php')) {
    		echo do_shortcode('[dcwp-jquery-accordion menu="OZE menu" auto_close="true" event="click" save="true" disable="false" count="false" expand="false" disable_class="disabled"]');
    	} elseif (is_page_template('page-o-nas.php')) {
    		echo do_shortcode('[dcwp-jquery-accordion menu="About menu" auto_close="true" event="click" save="false" disable="false" count="false" expand="false" disable_class="disabled"]');
    	} elseif (is_page_template('page-program-ambasadorski.php')) {
    		echo do_shortcode('[dcwp-jquery-accordion menu="Ambassador menu" auto_close="true" event="click" save="true" disable="false" count="false" expand="false" disable_class="disabled"]');
    	} elseif (is_page_template('page-program-edukacyjny.php')) {
    		echo do_shortcode('[dcwp-jquery-accordion menu="Aside menu" auto_close="true" event="click" save="true" disable="false" count="false" expand="false" disable_class="disabled"]');
    	}
    die();
    }
    add_action("wp_ajax_nopriv_get_left_menu", "get_left_menu");
    add_action("wp_ajax_get_left_menu", "get_left_menu");

    And of course jQuery file:

    jQuery(document).ready(function($) {
    	$(function() {
    		$('nav ul li').click(function() {
    			setTimeout(function() {
    				$.ajax({
    					type : "POST",
    					url : left_menu_reload.ajaxurl,
    					data : {
    						action : 'get_left_menu'
    					},
    					success : function(data) {
    						$('#left-menu').html(data);
    					}
    				});
    			}, 5000);
    		});
    	});
    });

    I’m serious stuck at this, if anyone know the solution please help me out.

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
  • The topic ‘Load php function via AJAX in specific div’ is closed to new replies.