add_filter hook在插件的php文件中不起作用

时间:2016-10-27 12:15:23

标签: wordpress

我正在开发一个插件,当我从我的插件的主要php文件中调用我的代码时它工作正常,但我想只运行一次我的外部文件在插件中调用。我的意思是我想将我的功能放在包含文件夹和生活在那里的文件中。喜欢插件文件夹/ includes / file.php ...这里是我的代码

 add_filter('wp_nav_menu_items',',my_custom_function');
 function my_custom_function ($nav){
 return $nav."<li class='menu-header-search'><a href='#'>Icon</a></li>";
}

请告诉我如何才能使其正常工作,它可以在侧插件的主要php文件中运行,但不适用于插件包含文件夹中的其他php文件。

1 个答案:

答案 0 :(得分:0)

如果您从插件主文件中包含文件,它应该可以正常工作,只需确保它包含正确。

include plugin_dir_path( __FILE__ ) . 'includes/file.php;

这将在自定义插件文件夹的includes文件夹中包含一个文件,并包含一个名为:&#34; file.php&#34;的文件。如果您想知道它是否已正确加载,只需在包含的文件中添加一个die()语句:

die('my include file has been loaded correctly');

在确认其工作后,只需删除die()语句:)最后,您需要复制回调函数代码并将其粘贴到包含的文件中。如果你的钩子仍然不起作用,那么你的回调函数可能有问题。

您正在使用的过滤器挂钩的文档: https://developer.wordpress.org/reference/hooks/wp_nav_menu_items/