2016-07-05 1 views
1

Привет, я пытаюсь расширить класс WP_Customize_Control, чтобы добавить настраиваемое раскрывающееся сообщение в Настройщике, используя тему sage. Я даже пытался добавить класс в customize_register action hook, но все же я не нашел ошибку:Попытка расширения WP_Customize_Control дает не найденную ошибку в теме sage

Неустранимая ошибка: класс «Roots \ Sage \ Customizer \ WP_Customize_Control» не найден в/home/wpsitesb/sites/rex2/wp- содержание/темы/рекс-etyhadar_v1/Библиотека/customizer.php на линии 36

Мой код:

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

yes using '\' решил проблему, спасибо за вашу помощь. –

Смежные вопросы