Blogname und Blogbeschreibung in Pagellines DMS Optionsfeld

Ich versuche, ein Front-End-Optionsfeld im paglines-dms-Framework einzurichten, von dem aus Benutzer den Blogname und die Blogbeschreibung ändern können. Bisher habe ich das Formular mit den Textfeldern ‘blogname’ & ‘blogdescription’ wie folgt eingerichtet

add_filter('pl_sorted_settings_array', 'add_global_panel2'); function add_global_panel2($settings){ $settings['privacy'] = array( 'name' => 'Blog Name', 'icon' => 'icon-eye-open', 'opts' => array( // Regular Options Engine array( 'key' => 'blogname', 'type' => 'text', 'label' => 'blog Name' ), // Regular Options Engine array( 'id' => 'blogdescription', 'type' => 'text', 'label' => 'blog description' ), ) ); // Finally we return the new array return $settings; } 

Ich bin mir jedoch nicht sicher, wie ich dies mit den WordPress-Optionen verknüpfen soll. Ich habe die folgenden functionen in den pagelines-dms editor.settings.php gefunden, von denen ich glaube, dass sie den Schlüssel zu meinem Erfolg enthalten, aber ich bin mir nicht sicher, wie ich sie richtig implementieren kann:

 /* * This class contains all methods for interacting with WordPress' data system * It has no dependancy so it can be used as a substitute for WordPress native functions * The options system inherits from it. */ class PageLinesData { function meta($id, $key, $default = false){ $val = get_post_meta($id, $key, true); if( (!$val || $val == '') && $default ){ $val = $default; } elseif( is_array($val) && is_array($default)) { $val = wp_parse_args( $val, $default ); } return $val; } function meta_update($id, $key, $value){ update_post_meta($id, $key, $value); } function opt( $key, $default = false, $parse = false ){ $val = get_option($key); if( !$val ){ $val = $default; } elseif( $parse && is_array($val) && is_array($default)) { $val = wp_parse_args( $val, $default ); } return $val; } function opt_update( $key, $value ){ update_option($key, $value); } function user( $user_id, $key, $default = false ){ $val = get_user_meta($user_id, $key, true); if( !$val ){ $val = $default; } elseif( is_array($val) && is_array($default)) { $val = wp_parse_args( $val, $default ); } return $val; } function user_update( $user_id, $key, $value ){ update_user_meta( $user_id, $key, $value ); } } 

(Eine Kopie der gesamten Datei finden Sie hier: http://themes.svn.wordpress.org/dms/1.0.2/editor/editor.settings.php )

Wenn jemand helfen könnte, wäre ich mehr als dankbar.

Danke im Voraus!

Solutions Collecting From Web of "Blogname und Blogbeschreibung in Pagellines DMS Optionsfeld"

OK,

Also habe ich eine Lösung für mein Problem gefunden;

Seitenlinien codieren jedes Schlüssel- und Wertepaar in eine json-Zeichenfolge innerhalb einer eigenen Option namens pl_settings in der Tabelle wp_options.

Sie geben Ihnen auch Zugriff auf jedes dieser Schlüssel-> Wert-Paare, indem Sie Folgendes verwenden: $ value = pl_setting (‘option_key’)

Daher habe ich den folgenden Code verwendet, um meine Bedürfnisse zu erfüllen:

 add_filter('pl_sorted_settings_array', 'add_global_panel2'); function add_global_panel2($settings){ $settings['privacy'] = array( 'name' => 'About Your Loved One', 'icon' => 'icon-heart', 'opts' => array( // Regular Options Engine array( 'key' => 'blogname', 'type' => 'text', 'label' => 'the name of your loved one', 'help' => 'test' ), // Regular Options Engine array( 'key' => 'blogdescription', 'type' => 'text', 'label' => 'a message to your loved one', 'help' => 'test' ), ) ); update_option('blogname', $value = pl_setting('blogname')); update_option('blogdescription', $value = pl_setting('blogdescription')); // Finally we return the new array return $settings; } 

Der einzige Nachteil bei der Arbeit ist, dass ich den Browser zweimal aktualisieren muss, sobald ich einen der Werte aktualisiert habe, damit dieser tatsächlich auf die entsprechende Option wirkt.

Wenn das jemand besser machen könnte, lass es mich wissen.