I am getting this error which
Fatal error: Uncaught Error: Call to undefined function wp_nav_menu() in /home/stageidg/public_html/idg/wp-content/themes/idg-child/secondmenu.php:2 Stack trace: #0 {main} thrown in /home/stageidg/public_html/idg/wp-content/themes/idg-child/secondmenu.php on line 2
line 2 in the php file is this:
wp_nav_menu( array('menu' => 'Services', 'theme_location'=>'services' ) );
and its being called by this jquery code:
$.ajax(
{
url: ".php", // path to your PHP file
dataType:"html",
success: function(data)
{
$(data).appendTo(inner_overlay); // load-into-div is the ID of the DIV where you load the <select>
} // success
}); // ajax
any idea? what am i doing wrong?
I am getting this error which
Fatal error: Uncaught Error: Call to undefined function wp_nav_menu() in /home/stageidg/public_html/idg/wp-content/themes/idg-child/secondmenu.php:2 Stack trace: #0 {main} thrown in /home/stageidg/public_html/idg/wp-content/themes/idg-child/secondmenu.php on line 2
line 2 in the php file is this:
wp_nav_menu( array('menu' => 'Services', 'theme_location'=>'services' ) );
and its being called by this jquery code:
$.ajax(
{
url: "http://example/idg/wp-content/themes/idg-child/secondmenu.php", // path to your PHP file
dataType:"html",
success: function(data)
{
$(data).appendTo(inner_overlay); // load-into-div is the ID of the DIV where you load the <select>
} // success
}); // ajax
any idea? what am i doing wrong?
Share Improve this question asked Jun 11, 2019 at 19:57 jgax87jgax87 1032 bronze badges 1 |1 Answer
Reset to default -1Yes, like @fuxia says, include wp-load.php to get the WordPress API (wp_nav_menu included) to use. In your case:
<?php
include '../../../../wp-load.php';
This way you did is not wrong but there are better ways to use AJAX in WordPress:
https://codex.wordpress/AJAX_in_Plugins
Be happy, my friend!
secondmenu.php
is called separately, not in a WordPress context, so it doesn't know anything about the WordPress functions. – fuxia ♦ Commented Jun 11, 2019 at 20:11