ADD_ACTION不调用函数

时间:2015-02-10 作者:qasir

我想在菜单中添加一个自定义字段,因此我尝试使用wp_nav_menu_item_custom_fields. 我正在使用以下代码,但它甚至没有调用函数。我在插件中添加了它,为什么它是错误的?

add_action( \'wp_nav_menu_item_custom_fields\', \'my_custom_fields\', 10, 4);

function my_custom_fields( $item_id, $item, $depth, $args ) {
    var_dump("test test");
}

2 个回复
SO网友:Erenor Paz

目前似乎不存在用于管理菜单创建中的字段的过滤器。另一方面,您可以做的是创建一个新的“菜单漫游器”,以提供Wordpress输入字段以及添加您自己的字段。这涉及到Wordpress类的扩展Walker_Nav_Menu_Edit 使用您自己的代码。

由于所有所需代码的解释都有点长,我建议您使用现有的插件并使用所需的部分。一、 例如,使用插件Menu image 作为起点。注意这两个课程:

  • Menu_Image_Plugin 创建插件的基本功能(您只需要构造函数中的一些过滤器和操作)
  • Menu_Image_Walker_Nav_Menu_Edit, 它扩展了Walker_Nav_Menu_Edit, 要为菜单创建字段,希望这能帮助您(可能还有其他人)以他们想要的方式管理菜单:)

    UPDATE像往常一样,在寻找其他东西的时候,你会找到你之前所寻找的东西的答案。所以here 是一个可以帮助您编写一些(简单)代码的答案;here 更彻底的答案,更多(简单到中等)代码。

SO网友:user657489

在函数后添加此项;

do_action(\'my_custom_fields\');
这将迫使wp完成分配给所述操作的所有注册回调。

结束

相关推荐

在加载plugins_后,get_plugins()不工作

知道为什么下面的代码function my_plugin_load() { get_plugins(); } add_action( \'plugins_loaded\', \'my_plugin_load\' ); 抛出此错误?Fatal error: 不应调用未定义的函数get\\u plugins()get_plugins() 定义在plugins_loaded 胡克开火了?如果不是,那么什么才是合适的钩子呢?(这个钩子应该启动插件的引导/加载过程)