Das Einstellungsfeld kann nicht angezeigt werden

Ein Plugin mit einer Einstellungsseite rma_base_url sein Einstellungsfeld rma_base_url . Es werden keine Fehler ausgetriggers. Die Seite wird in den Einstellungen erstellt, Überschrift und Übermittlungsschaltfläche werden gerendert.

Code:

 add_action('admin_menu', 'remote_member_auth_menu'); function remote_member_auth_menu() { add_options_page('Remote Member Auth Options', 'Remote Member Auth', 'manage_options', 'rma', 'remote_member_auth_options'); } function remote_member_auth_options() { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } echo '
' . '

Remote Member Authentication Settings

' . '
'; settings_fields('rma_options'); do_settings_sections('rma'); submit_button('Set base url'); echo '
' . '
'; } function register_rma_settings() { register_setting('rma_options', 'rma_base_url'); add_settings_field('rma_base_url', 'Base URL', 'rma_base_url_string', 'rma'); } add_action('admin_init', 'register_rma_settings'); function rma_base_url_string() { $options = get_option('rma_options'); echo ""; }

Bearbeiten:

Formularcode mit echo do_settings_sections('rma') ? 'something' : 'nothing'; echo do_settings_sections('rma') ? 'something' : 'nothing'; rendert nothing , do_settings_sections('rma') ist leer. echo strlen(do_settings_sections('rma')) 0 .

Solutions Collecting From Web of "Das Einstellungsfeld kann nicht angezeigt werden"

Formularcode mit Echo do_settings_sections (‘rma’) ändern? “etwas”: “nichts”; rendert nichts, do_settings_sections (‘rma’) ist leer.

In diesem Sinne sehe ich nicht, dass Sie einen Abschnitt in Ihrem geposteten Code hinzufügen.
Wenn Sie Ihrer function register_rma_settings() einen Abschnitt hinzufügen und diesen Abschnitt zu add_settings_field() hinzufügen, wird die Eingabe add_settings_field() .

 function register_rma_settings() { // add_settings_section( $id, $title, $callback, $page ); // you can use $callback to add some descriptive text otherwise leave it blank, '' add_settings_section( 'rma_section', 'some title', 'section_description', 'rma' ); register_setting('rma_options', 'rma_base_url'); // we also added our new section id "rma_section" at last argument to the following function add_settings_field('rma_base_url', 'Base URL', 'rma_base_url_string', 'rma', 'rma_section'); } 

Möchten Sie keinen Abschnitt verwenden oder warum haben Sie keinen erstellt?

Aktualisieren
@geoB ja zuerst hatte ich auch den eindruck, dass du nicht unbedingt einen abschnitt in der add_settings_field() funktion definieren add_settings_field() .
Wenn wir den Codex über diese function lesen, sehen wir das Argument section als optional , wie $section (string) (optional)
ABER wir können auch sehen, dass, wenn wir keinen section hinzufügen, das Argument den default .

Ich habe auch versucht, speziell 'default' als Abschnitt Argument einfügen, aber die Einstellung wird nicht 'default' . (auch nicht auf anderen Einstellungsseiten)
Ich habe dann versucht, '' als Abschnittsargument einzufügen, aber es wird auch nichts angezeigt.

So scheint es , dass section nicht wirklich optional ist.