Medienlinks neu anordnen?

Ich versuche, die Links in der Medienbox neu zu ordnen, wenn ein Bild ausgewählt wird. Ich möchte “Verwenden Sie als vorgestellten Bild” über die Schaltfläche Einfügen in Post verschieben.

Ich möchte auch den Text “Als Bild verwenden” umbenennen? Ich habe dies getan, indem ich die Datei media.php in wp-admin / incudes / media.php editiert habe, aber ich möchte dies nicht jedes Mal bearbeiten, wenn ich ein Upgrade mache.

Ist es möglich, die Elemente neu zu ordnen, ohne die gesamte function neu schreiben zu müssen?

Danke im Voraus.

BEARBEITEN:

Im Grunde möchte ich den Text über den Button bewegen und eventuell auch links eine Beschriftung hinzufügen wie oben. Ich möchte auch den Text “als ausgewähltes Bild verwenden” umbenennen.

Bildbeschreibung hier eingeben

BEARBEITEN

Dank goto10, der mir geholfen hat, so weit zu kommen, “funktioniert” der unten stehende Code, da er den Text und den Ort des vorgestellten Bildes ändert. Obwohl ich die Anhangs-ID nicht erhalten kann, wird das Bild nicht gespeichert … es funktioniert, indem die Anhangs-ID manuell eingegeben wird.

function custom_attachment_fields_to_edit($form_fields, $post) { $form_fields['buttons'] = array( 'label' => 'Banner Image', 'value' => '', 'input' => 'html' ); $thumbnail = ''; $calling_post_id = 0; if (isset($_GET['post_id'])) $calling_post_id = absint($_GET['post_id']); elseif (isset($_POST) && count($_POST)) $calling_post_id = $post->post_parent; $attachment_id = ??? $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$calling_post_id" ); $form_fields['buttons']['html'] = $thumbnail = "Set as Banner Image"; return $form_fields; } add_filter('attachment_fields_to_edit', 'custom_attachment_fields_to_edit', 11, 2); 

Versuchte diese, um die Anhangs-ID zu erhalten:

 $args = array('post_type' => 'attachment', 'post_parent' => $_GET['post_id'] ); $attachments = get_posts($args); if ($attachments) { foreach ( $attachments as $attachment ) { $attachment_id = $attachment->ID; } } $attachment_id = get_post_meta($_GET['post_id'], '_wp_attachment_image_id', true); $attachment_id = get_post_meta($_GET['post_id'], '_wp_attachment_url', true ); 

Außerdem wurde versucht, $_GET['post_id'] durch $calling_post_id

Irgendwelche Vorschläge, wie Sie die Anhangs-ID erhalten? Ich habe versucht, den Großteil des Codes aus media.php ohne Glück zu kopieren.

Solutions Collecting From Web of "Medienlinks neu anordnen?"

Bearbeiten: Beispiel für die Ausgabe der ID des Anhangs hinzugefügt. Es wurde der Variable $ attachment_id zugewiesen, da sich der corecode darauf bezieht. Beachten Sie, dass das $post Objekt (für die Anlage) an den Callback des attachment_fields_to_edit filter , sodass Sie Zugriff auf alle Eigenschaften des Anhangs haben.

Ja, dies kann ohne Änderung des cores erfolgen. attachment_fields_to_edit ist der Filter, den Sie hier benötigen.

Fügen Sie dies zu Ihrer functions.php oder Ihrem Plugin hinzu:

 add_filter( 'attachment_fields_to_edit', 'customize_attachment_fields_to_edit', 11, 2 ); // Note priority 11 to ensure that the customizations are not overridden function customize_attachment_fields_to_edit( $form_fields, $post ) { $form_fields['buttons'] = array( 'label' => '', 'value' => '', 'input' => 'html' ); $attachment_id = $post->ID; $form_fields['buttons']['html'] = "

Custom stuff here... Attachment ID: $attachment_id

"; return $form_fields; }

Hinweise: Der Filter attachment_fields_to_edit wird in line 1147 in \wp-admin\includes\media.php

Der größte Teil des Codes, der die Ausgabe für die Schaltflächen lines 1311-1342 in \wp-admin\includes\media.php befindet sich in den lines 1311-1342 in \wp-admin\includes\media.php , obwohl oberhalb der line 1311 einige Variablen vorhanden sind, die zur Bestimmung der Ausgabe verwendet werden nicht in den attachment_fields_to_edit filter .

Im Wesentlichen werden Sie den Hauptcode kopieren und zu Ihrem Callback customize_attachment_fields_to_edit hinzufügen wollen. Dann formatieren Sie den kopierten Code nach Ihren Bedürfnissen, aber denken Sie daran, dass Sie möglicherweise einige der vars selbst erstellen müssen (zB $send , wenn Sie den corecode wirklich so gut wie möglich duplizieren möchten).

Hier ist ein Link zu einem gut geschriebenen Tutorial von Andy Blackwell zum Anpassen von WP-Galerien.