最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Fatal error: Uncaught Error: Call to undefined function wp_nav_menu()

programmeradmin1浏览0评论

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
  • 2 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
Add a comment  | 

1 Answer 1

Reset to default -1

Yes, 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!

发布评论

评论列表(0)

  1. 暂无评论