1

これについて助けてくれてありがとう、メンバー関数check_capabilities()へのエラー呼び出し

これでわだち掘れで立ち往生!

ディレクトリレイアウト:

  • 「テーマフォルダ」
    • Functions.php(「テーマ」のメインディレクトリ)
    • index.php
    • style.css
    • 関数フォルダー(「テーマフォルダー」内にあります)
      • Customize.php

関数は次のようにcustomize.phpを呼び出します。

<?php require_once('functions/customize.php'); ?>

Customize.php:

<?php
add_action('customize_register', 'adaptive_customize_register');
function adaptive_customize_register($wp_customize) {
//logo
$wp_customize->add_section('adaptive_logo', array(
'title' => __('Add Logo', 'adaptive_framework'), 
'description' => __('Upload your main logo, this shows in the header',      'adaptive_framework'), 
'priority' => '25'
));
    $wp_customize->add_setting('adaptive_custom_settings[add_logo]', array(
    'default' => 0,
    'type' => 'option'
));

$wp_customize->add_control('adaptive_custom_settings[display_logo]', array(
    'label' => __('Display logo?','adaptive_framework'),
    'section' => 'adaptive_logo',
    'settings' => 'adaptive_custom_settings[display_top_logo]',
    'type' => 'checkbox'
    ));
}



?>

私が次のようなエラーが発生したので、誰かが助けてくれるならお願いします:

Fatal error: Call to a member function check_capabilities() on a non-object in C:\xampp\htdocs\wordpress\wp-includes\class-wp-customize-control.php on line 160
4

2 に答える 2

6

add_control()の設定パラメーターは、add_setting()で定義された設定の名前と一致する必要があります。そうしないと、コントロールが不明な設定に追加され、機能エラーが発生します。

したがって、に変更adaptive_custom_settings[display_top_logo]しますadaptive_custom_settings[add_logo]

    <?php
    add_action('customize_register', 'adaptive_customize_register');
    function adaptive_customize_register($wp_customize) {
    //logo
    $wp_customize->add_section('adaptive_logo', array(
        'title' => __('Add Logo', 'adaptive_framework'), 
        'description' => __('Upload your main logo, this shows in the header',         'adaptive_framework'), 
        'priority' => '25'
    ));
    $wp_customize->add_setting('adaptive_custom_settings[add_logo]', array(
        'default' => 0,
        'type' => 'option'
    ));

    $wp_customize->add_control('adaptive_custom_settings[display_logo]', array(
        'label' => __('Display logo?','adaptive_framework'),
        'section' => 'adaptive_logo',
        'settings' => 'adaptive_custom_settings[add_logo]',
        'type' => 'checkbox'
    ));
    }
    ?>
于 2014-04-10T07:35:18.303 に答える
-3

使用しているコードが不要になったため、このスレッドを終了する必要がありました。完成したコードをオンラインの例で機能するように取得します。

于 2013-03-23T16:59:56.270 に答える