我对此很困惑。我在插件类中使用add_action做某些事情-将脚本和样式添加到头部,wp_ajax等。这是__construct中的操作:
function __construct(){
add_action('admin_menu', array($this, 'sph_admin_menu'));
add_action('sph_header', array($this, 'sph_callback'));
add_action('sph_header_items', array($this, 'sph_default_menu'), 1);
add_action('sph_header_items', array($this, 'sph_searchform'), 2);
add_action('sph_header_items', array($this, 'sph_social'), 3);
//Below here they don't work. I have to call these outside of the class (but I need class variables within the functions)
add_action('wp_print_styles', array(&$this, 'sph_stylesheets'));
add_action('wp_print_scripts', array(&$this, 'sph_scripts'));
add_action( 'wp_ajax_nopriv_add_to_list', array(&$this, 'le_add_to_list'));
add_action( 'wp_ajax_add_to_list', array(&$this, 'le_add_to_list'));
add_action('init', array(&$this, 'register_menu'));
}
有人遇到过这样的事情吗?我真的很想知道如何在课堂上使用所说的钩子-在课堂外进行操作是如此混乱!
此外,请确保用作挂钩的功能具有
—
约瑟夫·利迪
public
可见性。
Bainternet是的,我是。@Joseph可能就是这样。可以公开吗?干杯
—
哈雷
@Harley-bainternet询问您在哪里创建实例。
—
史蒂芬·哈里斯
@Harley如果不包括可见性修改器,它将自动设置为public。我指的是执行任何被钩住的实际功能。
—
约瑟夫·利迪
$my_plugin = new MYClass();
由于我从类中使用了这些相同的钩子,所以没有问题。