Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Hook for custom tags #9

Closed
bueltge opened this Issue November 23, 2012 · 8 comments

2 participants

Frank Bültge Jan
Frank Bültge
Owner

Es wäre klasse, wenn ich per Theme-Hook eine Möglichkeit hätte, Quicktags zu ergänzen. Ich habe eine reihe von Theme-spezifischen Shortcodes, die ich damit einfach erreichen könnte.

Wenn ich den Code beim Überfliegen richtig interpretiert habe, so ginge dies vermutlich in der Methode print_scripts mit einem Filter für $options.

Frank Bültge
Owner

Fragen:

  • Sollen die Tags einfach da sein, also in html und text tab des Editors
  • Sollen die Tags dann automatisch in der Liste der Settings sein.

Es werden die Werte aktuell aus der DB gelesen und per JSON an den Editor übergeben. Daher müsste das JSON Objekt erweitert werden, so dass ich das Auslesen kann.

  • Wäre es nicht einfacher die per eigenem Code direkt im Editor zu integrieren, also im Theme.
Jan

Mir persönlich würde Variante Nr. 1 reichen. Die Benutzer des Themes sollen nur die Möglichkeit eines Schnellzugriffs bekommen. Ein Bearbeiten über die Settings halte ich in diesem Fall für kontraproduktiv, da es wirklich nur um eine bequemere Eingabe geht.

Wie wäre es mit einem Filter nach dem Auslesen aus der DB und vor der Umwandlung in JSON?

Klar wäre es es möglich, dies auch direkt im Theme zu lösen. Ich bevorzuge es aber, das Rad nicht neu zu erfinden und Arbeit in etwas zu stecken, was jemand bereits sehr gut gelöst hat.

Frank Bültge
Owner

OK, ich habe mal erweitert. Beispiel:

    add_filter( 'addquicktag_buttons', 'fb_test' );
    function fb_test( $buttons ) {

        $buttons[] = array(
            'text'          => 'Button Test', 
            'title'         => '',
            'start'         => '<span>',
            'end'           => '</span>',
            'access'        => '',
            'order'         => 0,
            'visual'        => 1,
            'post'          => 1,
            'page'          => 0,
            'comment'       => 1,
            'edit-comments' => 0
        );

        return $buttons;
    }

Du musst die Version hier von Github nehmen. Schaue mal und gib mal eine Rückmeldung, ob das so reichen würde.

Jan

Hatte endlich etwas Zeit, sorry für das Warten. Der Filter funktionierte bei meinen Tests wunderbar.

Fällt Dir eine besser Methode für den Plugin-Check ein? Die Funktion is_plugin_active ist ja nur im admin aktiv und ständig die plugin.php im Theme einzubinden, finde ich nicht so toll.

if ( class_exists( 'Add_Quicktag' ) ) :
add_filter( 'addquicktag_buttons', 'fb_test' );

function fb_test( $buttons ) {

    $buttons[] = array(
        'text'          => 'Permalink', 
        'title'         => '',
        'start'         => '[permalink]',
        'end'           => '[/permalink]',
        'access'        => '',
        'order'         => 1,
        'visual'        => 1,
        'post'          => 0,
        'page'          => 1,
        'comment'       => 0,
        'edit-comments' => 0
    );
    $buttons[] = array(
        'text'          => 'Button', 
        'title'         => '',
        'start'         => '<span class="abgerundet blau">',
        'end'           => '</span>',
        'access'        => '',
        'order'         => 2,
        'visual'        => 1,
        'post'          => 0,
        'page'          => 1,
        'comment'       => 0,
        'edit-comments' => 0
    );

    return $buttons;
}
endif;

Du bietest ja auch einen Hook an, um weitere Inhaltstypen zu supporten. Macht es da wirklich Sinn beim Filter addquicktag_buttons mit Bools für die Inhaltstypen zu arbeiten? Wäre nicht ein Array mit allen erlaubten Typen sinnvoller?

Frank Bültge
Owner

Hi Jan,
das Plugin ist aber eh nur im Admin nutzbar, ansonsten reicht es ja auf die Klasse zu prüfen.
Die Umstellung auf ein Array für die Typen haben ich auch schon angedacht; muss dann nur alles prüfen und so vergeht die Zeit ;)

Jan

Hi Frank,

soweit ich verstanden habe, betrifft der Array-Key comment doch die Kommentareingabe im Frontend. Somit besteht grundsätzlich die Möglichkeit, daß das Plugin im Frontend zum Einsatz kommt, oder irre ich mich da?

Die Überprüfung der Klasse ist aus meiner Sicht jedoch definitiv die einfachste Variante und es wäre klasse, wenn Du beim Release die Anleitung mit einem passenden Beispiel erweiterst.

Grüße und Danke
Jan

Frank Bültge
Owner

Nein, die comment-Einträge sind für Quicktags an Kommentar-Bearbeitung und Qucik-Edit der Kommentare.
Aktuell gibt es keine Möglichkeit die Quicktags an Kommentaren im Frontend zu nutzen.

Frank Bültge
Owner

Release with version 2.2.2

Frank Bültge bueltge closed this February 09, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.