Я пытаюсь использовать API настройки темы, но я все время получаю сообщение об ошибке

Это ошибка:

Вызовите функцию-член check_capabilities () для не-объекта в /home/content/54/11786754/html/wp-includes/class-wp-customize-control.php в строке 161

и это мой код в функции functions.php

function lmao_customizer_register($wp_customize) { $wp_customize->add_section('lmao_colors', array( 'title' => __('colors', 'lmao'), 'description' => 'modify the theme colors' )); $wp_customize->add_setting('background_color', array( 'default' => '#fff', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'background_color', array( 'label' => __('Edit Background Color', 'lmao'), 'section' => 'lmao_colors', 'settings' => 'background_color' ) )); $wp_customize->add_setting('link_color', array( 'default' => '#fff', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_color', array( 'label' => __('Edit link Color', 'lmao'), 'section' => 'lmao_colors', 'settings' => 'link_color' ) )); $wp_customize->add_setting('link_background_color', array( 'default' => '#fff', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_background_color', array( 'label' => __('Edit link background Color', 'lmao'), 'section' => 'lmao_colors', 'settings' => 'link_background_color' ) )); $wp_customize->add_setting('link_background_color_hover', array( 'default' => '#fff', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'link_background_color_hover', array( 'label' => __('Edit link background hover Color', 'lmao'), 'section' => 'lmao_colors', 'settings' => 'link_background_color_hover' ) )); //start image settings $wp_customize->add_section('lmao_images', array( 'title' => __('Images', 'lmao'), 'description' => 'modify the theme images' )); $wp_customize->add_setting('main_image', array( 'default' => 'http://hottraxstudioproductions.com/rawr/wp-content/uploads/2014/04/radio-logo.jpg', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_image_Control($wp_customize, 'main_image', array( 'label' => __('Edit main image', 'lmao'), 'section' => 'lmao_images', 'settings' => 'main_image' ) )); //start copyright settings $wp_customize->add_section('lmao_copyright', array( 'title' => __('Copyright_Details', 'lmao'), 'description' => 'Edit copyright info' )); $wp_customize->add_setting('Copyright_Details', array( 'default' => 'Copyright', 'type' => 'option' )); $wp_customize->add_control('Copyright_Details', array( 'label' => __('Edit copyright info', 'lmao'), 'section' => 'lmao_copyright', 'settings' => 'copyright_details' )); } function lmao_css_customizer() { ?> <style type="text/css"> body { background-color: #<?php echo get_theme_mod('background_color'); ? >;} nav ul li a { color: <?php echo get_theme_mod('link_color'); ?>; background-color: <?php echo get_theme_mod('link_background_color'); ?>; } nav ul li a:hover { background-color: <?php echo get_theme_mod('link_background_color_hover'); ?>; } </style> <?php } add_action('wp_head', 'lmao_css_customizer'); add_action('customize_register', 'LMAO_customizer_register'); 

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация …

Solutions Collecting From Web of "Я пытаюсь использовать API настройки темы, но я все время получаю сообщение об ошибке"

Я все еще относительно новичок в WordPress Development, но не должен ли этот код находиться в customizer.php, в папке «inc» (которая будет находиться в папке вашей активной темы)?

Также я знаю, что код говорит, что этот конкретный код предназначен только для предварительного просмотра, но после добавления его в один из моих проектов он, похоже, исправил мою проблему. Поэтому вам может понадобиться включить эти команды get для каждого раздела, который вы добавляете в функцию customizer_register. Например, перед первым битом вашего кода попробуйте включить:

 function lmao_customize_register( $wp_customize ) { $wp_customize->get_setting( 'lmao_colors' )->transport='postMessage'; } add_action( 'customize_register', 'testing_customize_register' ); 

Затем вы начнете с добавления раздела

 function lmao_customizer_register($wp_customize) { $wp_customize->add_section('lmao_colors', array( 'title' => __('colors', 'lmao'), 'description' => 'modify the theme colors' )); $wp_customize->add_setting('background_color', array( 'default' => '#fff', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'background_color', array( 'label' => __('Edit Background Color', 'lmao'), 'section' => 'lmao_colors', 'settings' => 'background_color' ) )); } 

Надеюсь, это полезно. Извините, если нет, как я уже сказал, я все еще новичок, но я хотел попытаться ответить, потому что кажется, что вы задали этот вопрос некоторое время без ответа.

Удачи!

Скорее всего, это просто опечатка.

Это здесь

 //start copyright settings $wp_customize->add_section('lmao_copyright', array( 'title' => __('Copyright_Details', 'lmao'), 'description' => 'Edit copyright info' )); $wp_customize->add_setting('Copyright_Details', array( 'default' => 'Copyright', 'type' => 'option' )); $wp_customize->add_control('Copyright_Details', array( 'label' => __('Edit copyright info', 'lmao'), 'section' => 'lmao_copyright', 'settings' => 'copyright_details' )); 

Заметьте, что у copyright_details есть другой случай:

 $wp_customize->add_setting('Copyright_Details', array 

чем в настройках секции add_control:

 'settings' => 'copyright_details' 

Оба параметра должны быть такими же, как и ожидаемая ошибка функции, которую вы получили.