2017-07-04 4 views
0

Ich möchte eine Option registrieren, wenn mein Plugin aktiviert ist, um auf der Einstellungsseite verwendet zu werden.Wordpress Register Optionen, wenn das Plugin aktiviert ist

Mein Code ist wie folgt:

function jpsNews_activate_plugin() { 
    // REGISTER SETTINGS 
    register_setting('jps_settings_group', 'jps_test'); 
    ... 
} 
register_activation_hook(__FILE__, 'jpsNews_activate_plugin'); 

Wenn ich in die Datenbank gehen und für diese Option suchen, nichts zu finden ist. Was vermisse ich? Kann ich es so machen?

Vielen Dank im Voraus.

Antwort

0

Ihre Option wird nur in der Datenbank gespeichert, nachdem Sie zum Einstellungsbereich gegangen sind und neue Werte gesendet haben.

Sie müssen daran denken, dass in Wordpress - wie in jeder PHP-Anwendung - Dinge nur geladen werden, wenn ein Code ausgeführt wird, um es zu laden. Und die Einstellungs-API ermöglicht es Ihnen, Einstellungsseiten für die aktuelle Admin-Seite zu erstellen - die -Methode "registriert Ihre neuen Einstellungen nicht in der Datenbank" oder so etwas, sie zeigt dem Administrator nur die Einstellungen an, wenn sich der Administrator gerade in diesem befindet der Admin-Bildschirm und Blick auf die Einstellungsseite!

Der korrekte Weg, um neue Einstellungen zu erstellen, ist die Registrierung der Einstellungen unter der admin_init Aktion, die passiert, bevor die Admin-Seiten für den Administrator angezeigt werden. Ein einfaches Beispiel, wie Sie das richtig machen, finden Sie unter the register_settings() documentation.

+0

Also, kann ich es nicht auf Plugin-Aktivierung machen? Ich habe auch versucht, es so zu machen: 'add_action ('admin_init', 'jps_settings')'; und dann, 'function jps_settings() {...}' aber nothig hidend – eskimopest

+0

Wie ich in meiner Antwort erklärt habe, hat Wordpress kein "Einstellungen-Repository", wo Sie Ihre Einstellungen hinzufügen können und Wordpress lädt sie - Einstellungen werden zur Laufzeit hinzugefügt, wenn die Admin-Bildschirme angezeigt werden. – Guss

+1

Wenn Sie die richtige Aktion verwendet haben, werden Ihre Einstellungen in der Datenbank immer noch nicht angezeigt. Wie in meiner Antwort erwähnt, reicht das Hinzufügen der Einstellungen und das Laden der Administratorseite nicht aus, um die Einstellung in der Datenbank zu erstellen - Sie müssen tatsächlich etwas Wert mit dem Admin-Bildschirm eingeben und speichern. Dazu müssen Sie auch die Benutzeroberfläche für die Einstellung erstellen, die Sie in Ihrem Codebeispiel nicht angezeigt haben, also nehme ich an, dass Sie dies nicht getan haben. Ich schlage vor, auf der Einstellungs-API nachzulesen, und Sie können diesen Code auch überprüfen, den ich geschrieben habe: https://github.com/con-tools/wordpress-plugin/blob/master/con-troll/options.php – Guss

Verwandte Themen