it-swarm.com.de

Ausgewähltes Bild programmgesteuert (in Admin) mit JavaScript einstellen?

Ich versuche, die Miniaturansicht des Beitrags (empfohlenes Bild) mit Javascript von einem vorhandenen Bild in der Mediengalerie festzulegen. Ich würde auch eine PHP-basierte Option in Betracht ziehen (eine, die ein Klicken auf "Update" erfordert, bevor die Bilder angezeigt werden).

Etwas Hintergrund

Ich baue eine Site für ein Musiklokal mit einem benutzerdefinierten "Event" -Post-Typ auf. Meistens sind diese Veranstaltungen einzigartig, aber es gibt einige wiederkehrende Ideen (z. B. offene Mikrofonabende an den meisten Dienstagen).

Ich dachte, ich möchte ein Dropdown-Menü mit einigen "Vorgaben" einfügen, um die add new event-Formularfelder im Backend auszufüllen. Es ist ein Kinderspiel (glaube ich), dies mit dem Tinymce und meinen benutzerdefinierten Metafeldern zu tun. Der schwierige Teil ist, wie Sie ein (bereits in die Medienbibliothek hochgeladenes) Bild programmgesteuert in die entsprechende Bildbox einfügen.

Ich weiß, dass ich am Ende der Vorlage etwas bewirken kann, aber es wäre schön, wenn dieses Vorschaubild in der add new/edit-Ansicht auftauchen würde.

Vielen Dank!

3
Zach Lysobey

Sie müssen einen Ajax-Aufruf mit folgender Aktion durchführen: 'set-post-thumbnail'

Checken Sie in admin-ajax.php (Zeile 1477 in 3.3.2) nach den erwarteten Werten und nonce, aber im Allgemeinen müssen Sie post_id, attachment_id und nonce senden.

Das Nonce sollte kommen von: wp_create_nonce ("set_post_thumbnail- $ post_id");

Der Admin macht so etwas wie:

 uploader.bind('FileUploaded', function(up, file, response) {
            jQuery.post(ajaxurl, {
                    action:"set-post-thumbnail", post_id: post_id, thumbnail_id: response.response, _ajax_nonce: '<?php echo $ajax_nonce;?>' , cookie: encodeURIComponent(document.cookie)
                }, function(str){
                    var win = window.dialogArguments || opener || parent || top;
                    if ( str == '0' ) {
                        alert( setPostThumbnailL10n.error );
                    } else {
                         jQuery('#postimagediv .inside').html(str);
                         jQuery('#postimagediv .inside #plupload-upload-ui').hide();

                    }
                }
                );
                jQuery("#postimagediv .inside h2.uploading_message").remove();

        });
3
MZAweb

Ich denke, update_post_meta-Funktion wird den Anhang hervorheben.

update_post_meta($post_id, '_thumbnail_id', $attachment_id);
2
Albin Joseph

Sie können die Bilder in einem Abfragebild-Kombinationsfeld anzeigen , den Benutzer auf "Aktualisieren" klicken lassen und dann set_post_meta oder update_post_meta verwenden, um das Bild in den Beitrag einzufügen.

Wenn Sie keine zusätzliche Schaltfläche hinzufügen möchten, können Sie die Lösung für diese Frage verwenden, um die Metadaten für Ihren benutzerdefinierten Beitragstyp zu speichern .

2
fdsa