web-dev-qa-db-fra.com

J'y suis allée à l'IPI de personnalisation de thème, mais je continue à recevoir une erreur.

C'est l'erreur:

Appelez une fonction membre check_capabilities () sur un non-objet dans /home/content/54/11786754/html/wp-includes/class-wp-customize-control.php à la ligne 161

et ceci est mon code dans le 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');

S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations ...

2
user50476

Je suis encore relativement nouveau dans le développement Wordpress, mais ce code ne devrait-il pas être dans customizer.php, dans le dossier "inc" (qui se trouverait dans le dossier de votre thème actif)?

Je sais également que le codex indique que ce code est uniquement destiné à la prévisualisation en direct, mais après l'avoir ajouté à l'un de mes projets, il a semblé résoudre mon problème. Vous devrez donc peut-être inclure ces commandes get pour chaque section ajoutée dans la fonction customizer_register. Par exemple, avant le premier bit de votre code, essayez d’inclure:

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

Ensuite, vous commenceriez par ajouter la section

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'

) ));
}

J'espère que c'est utile. Je suis désolé si non, comme je l'ai dit, je suis toujours nouveau moi-même, mais je voulais essayer de répondre, car il semble que cette question a été postée depuis un moment sans réponse.

Bonne chance!

1
starryVere

C'est probablement une faute de frappe.

C'est ici

//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'

));

Notez que copyright_details a un cas différent dans:

$wp_customize->add_setting('Copyright_Details',  array

que dans les paramètres de la section add_control:

'settings' => 'copyright_details'

Les deux paramètres doivent être identiques, sinon l'erreur de capacité que vous avez obtenue sera déclenchée.

0
Akash Kumar Sharma