(в отличие от методов Carbon Fields).

ла я скачалhttps://carbonfields.net/zip/latest/ и установил плагин на бэкэнд WP. Я также активировал это также.

Для этого теста я использую шаблон «Twenty Sixteen» со свежей установкой WordPress без установки каких-либо других плагинов и в соответствии сстраница документации по углеродным полям Я добавил следующий фрагмент кода в начало моего файла functions.php:

<?php // PHP 7
use Carbon_Fields\Container;
use Carbon_Fields\Field;

add_action( 'carbon_fields_register_fields', 'crb_attach_theme_options' );
function crb_attach_theme_options() {
    Container::make( 'theme_options', 'Theme Options' )
        -> set_page_menu_position( 0 )
        -> add_fields( array(
            Field::make( 'text', 'crb_text')
        ) );
}

Пока все выглядит хорошо, потому что «Опции темы» появляются в бэкэнде WP, как и ожидалось.

Теперь я пытаюсь получить значение поляcrb_text следующее:

// this snippet starts exactly where the previous one ended
add_action( 'after_setup_theme', 'crb_load' );
function crb_load() {
    // require_once( ABSPATH . '/vendor/autoload.php' ); original from website throws: "Failed opening required" so modified to:
    require_once( ABSPATH . 'wp-content/plugins/carbon-fields/vendor/autoload.php' );
    \Carbon_Fields\Carbon_Fields::boot();
    var_dump( carbon_get_theme_option( 'crb_text' ) ); // -> string(0) ""
    var_dump( carbon_get_theme_option( '_crb_text' ) ); // -> string(0) "" isn't actually the right way to do it but give it a try for testing purpose
    var_dump( get_option( '_crb_text' ) ); // -> string(4) "test"
}

Как вы можете видеть, я могу получить данные, позвонивget_option( '_crb_text' ) который является родным способом WP, но функция плагиновcarbon_get_theme_option( 'crb_text' ) не работает. На самом деле это было бы хорошо для «простых полей», но есть «сложные поля», которые должны быть получены с помощью собственных функций плагинов,carbon_get_theme_option() в этом случае.

Я также взглянул на этот вопрос:использовать Carbon Fields в пользовательском классе плагинов, Но этот вопрос заканчивается там, где начинается мой.

Заранее спасибо...

PS: я привык работать с Carbon Fields 1.6, который отлично работает с довольно похожей настройкой, но хочу перейти на ветку 2.

Моя среда снова:define('WP_DEBUG', true);, Carbon Fields 2.1.0, WordPress 4.8.2 – de_DE (новая установка без других плагинов, кроме Carbon Fields), Twenty Sixteen 1.3, PHP 7

Ответы на вопрос(1)

Ваш ответ на вопрос