Nano Hash - криптовалюты, майнинг, программирование

Не сохраняются параметры темы wordpress

Я пишу плагин WordPress, который использует API настроек для регистрации нескольких параметров. Когда я пытаюсь сохранить свои параметры, они не сохраняются. Поля остаются пустыми при перезагрузке страницы и нет сообщения о том, что параметры сохранены. Я ломаю голову уже несколько часов и не могу найти никаких ответов. Буду очень благодарен за любую помощь. Вот (слегка измененное) начало моего кода для страницы параметров:

<?php 

/**************************************** Register Settings Menu & Page ****************************************/

add_action( 'admin_menu', 'rv_admin_menu' );
function rv_admin_menu() {
    // Parent Slug, Page Title, Menu Title, Capability, Menu Slug, Callback Function
    add_submenu_page('slug', 'Misc. Options', 'Misc. Options', 'manage_options', 'rv-options-page', 'rv_options_create_page');
}

/**************************************** Register Settings ****************************************/

add_action( 'admin_init', 'rv_admin_init' );
function rv_admin_init() {

    /** Add the Settings Group **/
    register_setting( 'rv-options-group', 'rv-settings' ); // Option Group & Options Name

    /* Add Custom Footer Section & Fields */
    // ID, Title, Callback, Menu Page
    add_settings_section( 'footer-section', 'Custom Footer', 'custom_footer_section_callback', 'rv-options-page' ); 
    // ID, Title, Callback, Menu Page, Associated Section
    add_settings_field( 'footer-content', 'Footer Content', 'custom_footer_callback', 'rv-options-page', 'footer-section' ); 

    /* Add Author Box Section & Fields */
    add_settings_section( 'author-box', 'Author Box', 'author_box_section_callback', 'rv-options-page' );
    add_settings_field( 'author-box-enable', 'Globally Enable Author Box', 'author_box_enable_callback', 'rv-options-page', 'author-box' );
    add_settings_field( 'author-box-title', 'Author Box Title', 'author_box_title_callback', 'rv-options-page', 'author-box' );

}

/**************************************** Footer ****************************************/

/** Custom Footer Section Intro **/
function custom_footer_section_callback() {
    echo "Add your footer's custom HTML.";
}

/* Custom Footer Text Area */
function custom_footer_callback() {
    $settings = (array) get_option( 'rv-settings' );
    $footer = esc_attr( $settings['footer'] );
    echo "<textarea rows='12' cols='100' name='rv-settings[footer]' value='$footer'></textarea>";
}

/**************************************** Author Box ****************************************/

/** Author Box Section Intro **/
function author_box_section_callback() {
    echo "Customize the Author Box";
}

/* Globally Enable Author Box on Posts */
function author_box_enable_callback() {
    $settings = (array) get_option( 'rv-settings' );
    $enable_author_box = esc_attr( $settings['enable_author_box'] );
    echo "<input type='checkbox' name='rv-settings[enable_author_box]' value='$enable_author_box' />";
}

/* Custom Author Box Title */
function author_box_title_callback() {
    $settings = (array) get_option( 'rv-settings' );
    $author_box_title = esc_attr( $settings['author_box_title'] );
    echo "<input size='100' type='text' name='rv-settings[author_box_title]' value='$author_box_title' />";
}

/**************************************** Create Settings Page ****************************************/

function rv_options_create_page() { ?>
    <div class="wrap">
        <h2>RV Options</h2>
        <form action="options.php" method="POST">
            <?php settings_fields( 'rv-options-group' ); // Options Group ?>
            <?php do_settings_sections( 'rv-options-page' ); // Menu Page ?>
            <?php submit_button(); ?>
        </form>
    </div>
    <?php 
}

Ответы:


1

Если вы еще не поняли это, это: http://clicknathan.com/web-design/create-wordpress-theme-settings-page/ мне очень помог :)

19.06.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..