Weitere Informationen und den Download findest du auf der offiziellen Anlaufstelle de.wordpress.org
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113

    Bei Plugin Aktivierung zusätzliche Option abrufen

    Hallo Ihr,

    wie fügt man bei einem selbst implementierten Plugin zu den Standard-Optionen Aktivieren/Deaktivieren und Bearbeiten weitere eigene Aktivierungs-Optionen hinzu ?

    maksimilian


  2. #2
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    1.737
    Das sind sog. Plugin Action Links, siehe auch hier: plugin_action_links_(plugin file name)

  3. #3
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113
    Zitat Zitat von b3317133 Beitrag anzeigen
    Das sind sog. Plugin Action Links, siehe auch hier: plugin_action_links_(plugin file name)

    Danke, b3317133, für den schnellen Tipp !

  4. #4
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113
    Gut, die neue Aktivierungs-Option kann ich anfügen. Wie erreiche ich es, dass durch Anklicken dieser Option eine Aktion ausgelöst wird. In meinem speziellen Fall möchte ich eine Auswahl zwischen 2 Einstellungen anbieten und das Ergebnis mit update_options() abspeichern.

  5. #5
    PostRank: 9 Avatar von danielgoehr
    Registriert seit
    13.07.2016
    Ort
    Berlin
    Beiträge
    1.478
    Ich glaube ehrlich gesagt, dafür sind die Links nicht gedacht. Das sind halt wirklich Links.

    Aber du könntest als Workaround einfach die Plugin-Seite als href angeben, dann einen GET-Parameter anhängen und dann abfragen, ob der Parameter gesetzt ist (und falls ja, deine Funktion ausführen).

  6. #6
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113
    Ich habe in das Plugin folgenden Code eingebaut:

    add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'add_action_links' );
    function add_action_links ( $links ) {
    $mylinks = array(
    '<a href="' . admin_url( 'options-general.php?page=myplugin' ) . '">Visibility</a>',
    );
    return array_merge( $links, $mylinks );
    }

    Wenn ich auf der Plugin-Seite "Visibility" auswähle, kommt die Meldung
    "Du bist leider nicht berechtigt, auf diese Website zuzugreifen."

    Ich habe die Rolle "Administrator".

  7. #7
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    1.737
    Wie genau wird die 'myplugin' Seite Deines Plugins via add_menu_page() in das WordPress Menü eingefügt?

  8. #8
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113
    @ b3317133 #7

    Ich muss mich entschuldigen, denn ich habe den oben zitierten Code aus einem Beispiel übernommen und nicht genau genug überprüft. myplugin ist bei mir nicht definiert und muss wohl erst mit add_menu_page() erzeugt werden. Ich schaue mir die Funktion erst mal genauer an.

  9. #9
    PostRank: 3
    Registriert seit
    03.02.2015
    Beiträge
    113
    Also, ich komme nicht vorwärts. Offensichtlich kann man mit plugin_action_links_ tatsächlich nur einen Link und keinen Prozeduraufruf als Action Link einrichten. danielgoehr hat mir einen Workaround empfohlen, den ich noch nicht durchblicke.
    Noch einmal, was ich erreichen möchte: einem Plugin einen Action Link hinzufügen, mit welchem eine Prozedur im Plugin-Code aufgerufen wird. Diese Prozedur soll ein kleines Menü anzeigen, welches Parametereingaben ermöglicht.

  10. #10
    PostRank: 9 Avatar von danielgoehr
    Registriert seit
    13.07.2016
    Ort
    Berlin
    Beiträge
    1.478
    Zitat Zitat von maksimilian Beitrag anzeigen
    Also, ich komme nicht vorwärts. Offensichtlich kann man mit plugin_action_links_ tatsächlich nur einen Link und keinen Prozeduraufruf als Action Link einrichten. danielgoehr hat mir einen Workaround empfohlen, den ich noch nicht durchblicke.
    Noch einmal, was ich erreichen möchte: einem Plugin einen Action Link hinzufügen, mit welchem eine Prozedur im Plugin-Code aufgerufen wird. Diese Prozedur soll ein kleines Menü anzeigen, welches Parametereingaben ermöglicht.
    Dafür wäre mein Workaround nicht wirklich geeignet. Das Menü muss ja irgendwo her kommen. Das heißt, eigentlich musst du erstmal die Seite erzeugen (mit add_menu_page() ) auf der dein Menü dann sein soll und dann per action_link dorthin verweisen. Das wäre ja auch eigentlich der "normale" Vorgang. Vielleicht erklärst du nochmal, wie genau und warum du davon abweichen möchtest/musst.

    Du hattest mir ja auch vorhin eine PM geschickt. Darin meintest du, das Ganze sollte auch funktionieren, wenn das Plugin gar nicht aktiviert ist. Das dürfte nicht möglich sein, weil ein deaktiviertes Plugin ja quasi keinen Code einbindet.


    Trotzdem kurz mein Workaround in sehr verkürzert Form (ungetestet):

    Du setzt als Ziel des Links die Plugin-Seite und hängst dort aber einen GET-Parameter (z.B. "?dein_parameter=dein_wert") an.

    Dann kannst du mit ...
    Code:
    if(isset($_GET['dein_parameter']) && $_GET['dein_parameter']=='dein_wert')
    {
    //Hier der Code, der ausgeführt werden soll...
    }
    ... beliebigen Code ausführen.

    Aber wie gesagt, das setzt natürlich voraus, dass dein Plugin aktiviert ist.
    Geändert von danielgoehr (06.05.2017 um 14:46 Uhr)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •