Benutzerdefinierter Medien-Upload-Inhalt zum Einfügen eines benutzerdefinierten Post-Shortcodes


12

Ich arbeite an einem Plugin, das ein benutzerdefiniertes Portfolio für Posts erstellt, zusammen mit einem Shortcode, der in jede Seite oder jeden Post eingefügt werden kann.

Der Shortcode lautet: [portfolio option1=“1” option2=“0” option3=“1” ]

Und es funktioniert gut, es zeigt alle benutzerdefinierten Beiträge über benutzerdefinierte WP_query. Aber ich möchte noch weiter gehen.

Erstellen Sie eine benutzerdefinierte Schaltfläche neben, upload mediaum eine Portfolio-Shortcode-Ausgabe zu generieren, in der der Benutzer auswählen kann, welcher Beitrag einbezogen und alle Optionen definiert werden sollen. Die Ausgabe wäre also:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]

Dies ist der Code für einen Button, den ich in wps media.php gefunden habe:

add_action( 'media_buttons', array( $this, 'media_buttons' ) );

public function media_buttons($editor_id = 'content') {
    $post = get_post();
    if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
        $post = $GLOBALS['post_ID'];

    wp_enqueue_media( array(
        'post' => $post
        ) );
    $img = '<span class="wp-media-buttons-icon"></span> ';

    echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Portfolio' ) . '">' . $img . __( 'Add Portfolio' ) . '</a>';
}

Und es macht was es macht. Aber was ist nun die beste Möglichkeit, den Inhalt des erstellten Fensters zu ändern? Hier ist ein Bild davon, wie ich es sehe, es ist besser als jede Beschreibung:

Bildbeschreibung hier eingeben Wie kompliziert und knifflig könnte dies sein? Ich weiß nicht, in welche Richtung ich schauen soll, ist das überhaupt möglich? Bitte teilen Sie mir Vorschläge mit, wo ich nach einer Lösung suchen soll.

PS: Oder vielleicht liege ich in erster Linie falsch und sollte die Verwendung von ThickBox in Betracht ziehen? Aber ich möchte das native Aussehen des Medien-Upload-Popups beibehalten.

Prost!

BEARBEITEN:

Nun, vielleicht wäre es eine viel bessere Lösung, ein Shortcode-Muster für die native Galerie zu verwenden. Es ist nicht schwierig, einen neuen Menüpunkt in das Medien-Upload-Fenster einzufügen, wie es hier zum Beispiel erklärt wurde .

Die endgültige Vision sieht also so aus:

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Es muss mit Backbone.js gemacht werden, glaube ich? Aber die Hauptfrage ist, kann es benutzerdefinierte Posts anstelle von Bildern manipulieren?


1
Ich denke, es ist wahrscheinlich keine gute Idee, den Medieneditor zum Verwalten benutzerdefinierter Posts zu verwenden. Könnten Sie nicht einen neuen Mime-Typ für Anhänge mit dem Namen "Portfolio" erstellen und Portfolio-Galerien mit dem vorhandenen Shortcode- und Media-Editor-Management erstellen?
Fabien Quatravaux

Danke @FabienQuatravaux, ich bin mir nicht sicher, ob ich verstehe, wie das funktionieren soll, aber ich werde jetzt in diese Richtung gehen. Könnten Sie uns eine Lektüre empfehlen?
Nikita

Wofür wird der benutzerdefinierte Post-Typ genau verwendet? Verwenden Sie einen benutzerdefinierten Beitragstyp nur, weil er das richtige Menü in den Administratorbereich einfügt? Wie verlinkst du ein Bild mit einem Portfolio-Beitrag (wie in deinem Screenshot gezeigt)?
Fabien Quatravaux

Ich habe in meinem Twikin-Plugin einen benutzerdefinierten MIME- Typ für Anhänge verwendet , bin mir jedoch nicht sicher, ob er für Ihren Anwendungsfall relevant ist.
Fabien Quatravaux

Antworten:


1

Bildbeschreibung hier eingeben

Schauen Sie sich meinen Leitfaden hier an - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - damit Sie sehen können, wie Sie ein Popup-Fenster erstellen, in dem Sie Ihre Optionen auswählen können, anstatt einen Shortcode einzufügen. Wenn Sie mein Free Symple Shortcodes-Plugin herunterladen, können Sie auch eine Live-Implementierung sehen.

Anstatt den Benutzer die einzufügenden Posts auswählen zu lassen, fügen Sie Ihrem Portfolio eine Kategorietaxonomie hinzu, damit der Benutzer die Elemente in Kategorien organisieren kann. Anschließend kann der Benutzer in einem einfachen Dropdown-Menü auswählen, aus welcher Kategorie Beiträge abgerufen werden sollen.

Dies ist für den Endbenutzer in Zukunft viel einfacher zu verwalten, da er nur seine Beiträge zur Kategorie hinzufügen muss und diese durch den Shortcode automatisch angezeigt werden, ohne dass der Shortcode manuell aktualisiert werden muss, um die neuen Beiträge aufzunehmen.

  • AJ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.