Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
HOWTO WordPress Admin Plugin Deutsch
#1
Ein Beispiel WordPress Admin Plugin
Diese Plugin Art kann nur intern von Menschen mit Zugang zum Dashboard gesehen werden.
Dies eignet sich hervorragend um den OpenSimulator zu manipulieren oder einzustellen.

Bestandteil eines Plugin mit minimal Funktionen sind:
  • Das Verzeichnis mit dem Plugin Namen.
  • Die grundlegende Datei OSWP_Example_Dashboard_Widget.php ist sozusagen das Fundament des ganzen Plugin.
  • Die Datei widget-config.php ist der Bereich zum konfigurieren des Plugin.
  • Die Datei widget.php ist der eigentliche funktionelle Bereich des Plugin, hier wird alles abgearbeitet was das Plugin machen soll.
Bitte benutzt einen Editor wie Notepad++ es sei denn ihr nutzt den Download am ende des Artikels.
WordPress hat einen eingebauten Editor für den Quellcode der gar nicht schlecht ist, hier werden euch auch Fehler angezeigt.


Als erstes erstellen wir im Verzeichnis /var/www/html/wp-content/plugins/ ein Verzeichnis namens oswp-example


Zweitens erstellen wir uns eine Textdatei mit dem Namen OSWP_Example_Dashboard_Widget.php und fügen den nachfolgenden Quellcode hinein.


Code:
<?php
/*
Plugin Name: oswp example Dashboard Widget
Plugin URI: http://codex.wordpress.com/oswp_example_Dashboard_Widget
Description: Veranschaulicht das Hinzufügen eines einfachen Dashboard-Widgets
Version: 1.0
Author: My Name
Author URI: http://codex.wordpress.com/
License: GPLv2 or later
*/
add_action('wp_dashboard_setup', array('My_Dashboard_Widget','init') );

class My_Dashboard_Widget {

   /**
    * Die ID dieses Widgets.
    */
   const wid = 'oswp_widget_oswp_example';

   /**
    * Hake an wp_dashboard_setup an, um dieses Widget hinzuzufügen.
    */
   public static function init() {
       // Widget-Einstellungen registrieren ...
       self::update_dashboard_widget_options(
           self::wid,                                  // Die Widget-ID
           array(                                      // Array von Optionen und Standardwerten
               'oswp_example_number' => 42,
           ),
           true                                                // Nur hinzufügen (vorhandene Optionen werden nicht aktualisiert)
       );

       //Register the widget...
       wp_add_dashboard_widget(
           self::wid,                                              // Eine eindeutige slug/ID
           __( 'oswp example Dashboard Widget', 'nouveau' ),    // Sichtbarer Name für das Widget
           array('My_Dashboard_Widget','widget'),              // Rückruf für den Hauptinhalt des Widgets
           array('My_Dashboard_Widget','config')               // Optionaler Rückruf für Widget-Konfigurationsinhalte
       );
   }

   /**
    * Lade den Widget-Code
    */
   public static function widget() {
       require_once( 'widget.php' );
   }

   /**
    * Lade den Widget-Konfigurationscode.
    *
    * Dies wird angezeigt, wenn ein Administrator drauf klickt
    */
   public static function config() {
       require_once( 'widget-config.php' );
   }

   /**
    * Ruft die Optionen für ein Widget mit dem angegebenen Namen ab.
    *
     * @param string $ widget_id Optional.  Wenn angegeben, werden nur Optionen für das angegebene Widget abgerufen.
    * @return array Ein assoziatives Array, das die Optionen und Werte des Widgets enthält.  Falsch, wenn nicht anders angegeben.
     */
   public static function get_dashboard_widget_options( $widget_id='' )
   {
       // ALLE Dashboard Widget Optionen aus der Datenbank abrufen ...
       $opts = get_option( 'dashboard_widget_options' );

       // Wenn kein Widget angegeben ist, wird alles zurückgegeben
       if ( empty( $widget_id ) )
           return $opts;

       // Wenn wir ein Widget anfordern und es existiert, geben Sie es zurück
       if ( isset( $opts[$widget_id] ) )
           return $opts[$widget_id];

       // Etwas ist schief gelaufen...
       return false;
   }

      /**
     * Ruft eine bestimmte Option für das angegebene Widget ab.
     * @param $widget_id
     * @param $Option
     * @param null $default
     *
     * @return string
     */
   public static function get_dashboard_widget_option( $widget_id, $option, $default=NULL ) {

       $opts = self::get_dashboard_widget_options($widget_id);

       // Wenn Widget Optionen nicht vorhanden sind, wird false zurückgegeben
       if ( ! $opts )
           return false;

       // Ansonsten die Option holen oder default verwenden
       if ( isset( $opts[$option] ) && ! empty($opts[$option]) )
           return $opts[$option];
       else
           return ( isset($default) ) ? $default : false;

   }

    /**
     * Speichert eine Reihe von Optionen für ein einzelnes Dashboard-Widget in der Datenbank.
     * Kann auch verwendet werden, um Standardwerte für ein Widget zu definieren.
     *
     * @param string $ widget_id Der Name des zu aktualisierenden Widgets
     * @param array $ args Ein assoziatives Array von Optionen, die gespeichert werden.
     * @param bool $ add_only Wenn true, werden Optionen nicht hinzugefügt, wenn bereits Widget-Optionen vorhanden sind.
     */
   public static function update_dashboard_widget_options( $widget_id , $args=array(), $add_only=false )
   {
       // ALLE Dashboard Widget Optionen aus der Datenbank abrufen ...
       $opts = get_option( 'dashboard_widget_options' );

       // Holen Sie sich nur die Optionen unseres Widgets oder setzen Sie ein leeres Array.
       $w_opts = ( isset( $opts[$widget_id] ) ) ? $opts[$widget_id] : array();

       if ( $add_only ) {
           // Verfeinere fehlende Optionen (bestehende überschreiben neue).
           $opts[$widget_id] = array_merge($args,$w_opts);
       }
       else {
           // Neue Optionen mit vorhandenen zusammenführen und wieder zum Widgets-Array hinzufügen.
           $opts[$widget_id] = array_merge($w_opts,$args);
       }

       // Speichere das gesamte Widgets-Array zurück in die Datenbank
       return update_option('dashboard_widget_options', $opts);
   }

}



Drittens erstellen wir uns eine Textdatei mit dem Namen widget-config.php und fügen den nachfolgenden Quellcode hinein.


Code:
<?php
/**
 * Mit dieser Datei können übermittelte Formulardaten abgefangen werden.  Bei Verwendung einer Nichtkonfiguration
 * Um Formulardaten zu speichern, denken Sie daran, ein Identifikationsfeld in Ihrem Formular zu verwenden.
 */
if (!empty($_POST)) {  
   $number = ( isset( $_POST['number'] ) ) ? stripslashes( $_POST['number'] ) : '';
   self::update_dashboard_widget_options(
           self::wid,                                  //The  widget id
           array(                                      //Associative array of options & default values
               'oswp_example_number' => $number,
           )
   );
}

?>
<p>Dies ist ein oswp Beispiel Dashboard Widget!</p>
<p>Dies ist der Konfigurationsteil des Widgets und kann hier gefunden und bearbeitet werden <tt><?php echo __FILE__ ?></tt></p>
<input type="text" name="number" value="<?php echo self::get_dashboard_widget_option(self::wid, 'oswp_example_number'); ?>" /><br />



Viertens erstellen wir uns eine Textdatei mit dem Namen widget.php und fügen den nachfolgenden Quellcode hinein.


Code:
<?php
/**
 * Mit dieser Datei können übermittelte Formulardaten abgefangen werden.  Bei Verwendung einer Nichtkonfiguration
 * Um Formulardaten zu speichern, denken Sie daran, ein Identifikationsfeld in Ihrem Formular zu verwenden.
 */
?>
<p>Dies ist ein oswp Beispiel Dashboard Widget!</p>
<p>Dies ist der Hauptteil des Widgets, der hier gefunden und bearbeitet werden kann <tt><?php echo __FILE__ ?></tt></p>
<p>Widgets können ebenfalls konfiguriert werden. Derzeit ist dies eingestellt auf <b><?php echo self::get_dashboard_widget_option(self::wid, 'oswp_example_number'); ?></b> ! Um die Nummer zu ändern, bewegen Sie den Mauszeiger über den Widget Titel und klicken Sie auf den "Configure" Link.</p>



So das hätten wir, ein lauffähiges Mini Plugin mit dem man basteln kann bis der Arzt kommt.


Download:
https://github.com/BigManzai/oswp-example
- Beipackzettel: Kann Spuren von persönlichen Meinungen, Sarkasmus und Ironie enthalten.
Ausdrücke sind nicht für den Verkehr geeignet. Gelesen mindestens haltbar, siehe oben. -
Antworten }
Thanks given by: Achim


Nachrichten in diesem Thema
HOWTO WordPress Admin Plugin Deutsch - von Manni - 20.07.2019, 11:43

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste