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 media
um 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:
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:
Es muss mit Backbone.js gemacht werden, glaube ich? Aber die Hauptfrage ist, kann es benutzerdefinierte Posts anstelle von Bildern manipulieren?