插件添加操作挂钩不起作用:

时间:2016-09-29 作者:Neha

我试图在wordpress中添加一个自定义动作挂钩,但它不起作用。请帮我解决这个问题。

<?php
function wp_add_google_link(){
global $WP_Admin_Bar;
var_dump($WP_Admin_Bar);
$WP_Admin_Bar->add_menu(array(
    \'id\'=>\'google_analytics\',
    \'title\'=>\'GoogleAnalytics\',
    \'href\'=>\'https://google.com/analytics\'
    ));
}
add_action(\'wp_before_admin_bar_render\',\'wp_add_google_link\');

2 个回复
SO网友:Dhul Wells

您的代码没有问题。只需将$Wp\\u Admin\\u栏更改为所有小写

   function wp_add_google_link(){
global $wp_admin_bar;
var_dump($wp_admin_bar);
$wp_admin_bar->add_menu(array(
    \'id\'=>\'google_analytics\',
    \'title\'=>\'GoogleAnalytics\',
    \'href\'=>\'https://google.com/analytics\'
    ));
}

add_action(\'admin_bar_menu\',\'wp_add_google_link\');

SO网友:Naresh Kumar P

您的整个代码都是正确的,没有错误。

至于WordPress被认为是case sensitive 即使是区分大小写的问题,它也会通过错误指出。

确保在处理管理端或核心文件时使用正确的语法和结构。

WP_Admin_Bar - WP\\u Admin\\u Bar是WordPress的类,用于在登录时生成位于WordPress站点顶部的工具栏。可以挂接和修改此类,以添加或删除管理栏中显示的选项。

Usage: WordPress在内部使用该类创建名为$wp\\u admin\\u bar的对象。对WordPress工具栏的大多数修改通常是通过修改通过admin\\u bar\\u菜单挂钩传递的$wp\\u admin\\u bar对象来完成的。

Example:

add_action( \'admin_bar_menu\', \'modify_admin_bar\' );

function modify_admin_bar( $wp_admin_bar ){
global $wp_admin_bar;
  // do something with $wp_admin_bar;
}
您必须进行的更正:

你曾在哪里使用过global $WP_Admin_Bar; 你必须把它改成global $wp_admin_bar;.Note: 请注意,挂钩可用于修改此类,但其用途非常有限。在许多情况下,您只需修改$wp_admin_bar 对象

您的整个代码看起来像。

function wp_add_google_link(){
global $wp_admin_bar;
//var_dump($wp_admin_bar); If you need you remove the slash and check
$wp_admin_bar->add_menu(array(
    \'id\'=>\'google_analytics\',
    \'title\'=>\'GoogleAnalytics\',
    \'href\'=>\'https://google.com/analytics\'
    ));
}
add_action(\'admin_bar_menu\',\'wp_add_google_link\');