Benutzerdefinierte Optionen – Registrieren, Standardwerte und Löschen von leeren Feldern (Einstellungs-API)

Ich kann nicht herausfinden, wie man alle meine Einstellungsfelder in 1 databaseoption registriert.

Code für meine Menüseite:

add_menu_page('Custom options', 'Custom Options', 'manage_options', 'rm_options', 'display_options_page'); 

dann meine Hauptfunktion zum Hinzufügen und Registrieren von Abschnitten, Feldern usw.

 function rm_register_custom_settings_fields() { add_settings_section('rm_contact_info', 'Contact Info', 'rm_contact_info_callback', 'rm_options'); add_settings_field('rm_number', 'Number:', 'rm_input_fields_callback', 'rm_options', 'rm_contact_info', array('rm_number', 'Description')); add_settings_field('rm_adress', 'Adress:', 'rm_input_fields_callback', 'rm_options', 'rm_contact_info', array('rm_adress', 'Description')); add_settings_field('rm_about_us', 'About us:', 'rm_textarea_fields_callback', 'rm_options', 'rm_contact_info', array('rm_about_us', 'Description')); register_setting('rm_options_group', 'rm_number', 'esc_attr'); register_setting('rm_options_group', 'rm_adress', 'esc_attr'); register_setting('rm_options_group', 'rm_about_us', 'esc_attr'); } 

dann zeige ich die Optionen wie folgt an:

 function rm_display_options_page() { ?> 

Description
<?php

Was ich tun möchte, anstatt 3 verschiedene Optionen in der database zu haben und sie separat zu registrieren, wie es jetzt ist, möchte ich, dass sie als Array gespeichert werden, ich habe versucht, etwas zu tun wie:

 register_setting('rm_options', 'rm_options', 'esc_attr'); 

aber nichts hat funktioniert, wie kann ich das machen? Grundsätzlich statt:

 echo get_option('rm_number'); 

Es wird sein:

 $options = get_option('rm_options'); echo $options['rm_number']; 

Und wie kann ich Standardeinstellungen für die get_option festlegen? Wenn der Wert leer ist, möchte ich eine Standardnachricht zurückgeben. Es sollte mit get_option('rm_options', 'default'); aber ich habe bemerkt, dass selbst wenn die Felder leer sind, sie in der database gespeichert sind, so dass diese Vorgabe niemals funktionieren wird. Wie funktioniert das?

Und zuletzt, um die Standardfunktion zu erhalten und die database zu bereinigen, wie kann ich Optionen löschen, wenn nichts in das Feld eingegeben wurde? Wie kann man das kontrollieren, wenn WordPress die Arbeit selbst aktualisiert und erledigt?

Ich werde wirklich dankbar sein, wenn mir jemand dabei helfen kann. Danke im Voraus 🙂

Solutions Collecting From Web of "Benutzerdefinierte Optionen – Registrieren, Standardwerte und Löschen von leeren Feldern (Einstellungs-API)"