2016-07-05 12 views
1

嘿,我正在尝试扩展WP_Customize_Control类,以在使用sage主题的Customizer中添加自定义帖子下拉。我甚至试图在custom_register动作钩子中添加类,但仍然没有找到错误:试图扩展WP_Customize_Control在sage主题中未发现错误

致命错误:在/ home/wpsitesb/sites/rex2/wp-home中找不到类'Roots \ Sage \ Customizer \ WP_Customize_Control'内容/主题/ REX-etyhadar_v1/lib中/上线36 customizer.php

我的代码:

add_action('customize_register', __NAMESPACE__ . '\\customizer_register_callback'); 


function customizer_register_callback($wp_customize) { 

    class Post_Dropdown_Custom_Control extends WP_Customize_Control { 

     // Dropdown code. 
    } 

} 

回答

1

也许这并不是一个真正的答案,但我写在这里,因为它的长度和代码fomating。

问题是(我认为)是命名空间。

在您的customiser.php中您位于Roots\Sage\Customizer\命名空间下。

当你想通过扩展WP_Customize_Control来创建你的类,那么你应该使用全局命名空间。

WP_Customize_Control之前添加\标志。

class Post_Dropdown_Custom_Control extends \WP_Customize_Control { 
    //.... 
} 

请试试看,并告诉我结果。

+1

谢谢,全球命名空间为我工作 –

0

检查你的WordPress版本。它应该是> = 3.4

如果是,那么原因可能是命名空间,使用“\”

+0

我的wp版本是> 3.4它是4.5.3 –

+1

那么它可能是命名空间,使用'\' – Mickey

+0

是使用'\'解决了这个问题,感谢您的帮助。 –