我正在开发我的核心主题插件,我在主题管理页面中创建了一个主题选项,通常为了避免nonces错误,我必须使用选项卡式导航分隔各个部分,因此我成功地做到了这一点,其想法是在用户进入主题选项页面时将一个部分设置为默认部分,当我尝试这样做时,唯一的方法是在当前屏幕上使用get_current_screen()
函数或全局变量$current_screen
, 不幸的是,使用面向对象的类,我无法成功地实现它。这是我的密码。
class myClass {
protected $curScreen;
public function load_Hooks() {
if ( is_admin() ) {
add_action( \'admin_init\', array( $this, \'admin_Settins_Pages\' ) );
}
global $current_screen;
$this->curScreen = $current_screen;
}
public function admin_Settins_Pages() {
global $current_screen;
if ( $this->curScreen->parent_base == \'parent-page-slug\' || isset( $_GET[\'tab\'] ) && $_GET[\'tab\'] == \'head_options\' ) {
add_settings_section( \'handle-id\', \'Head Options\', array( $this, \'head_section_callback\' ), \'parent-page-slug\' );
}
}
public function head_section_callback() {
// Do Something ...
}
}
if ( class_exists(\'myClass\') ) {
$instClass = new myClass();
$instClass->load_Hooks();
}
当我使用该功能时
get_current_screen()
我遇到致命错误(调用未定义的函数)当我使用全局变量时
$current_screen
我注意到错误(试图调用非对象的属性)所以伙计们,我需要解决方案,我希望有人能帮我解决这个问题。提前谢谢。