2017-07-08 6 views
0

Wenn ein Benutzer ein anderes Produktattribut auswählt, erzeuge ich ein neues Foto und setze es für die Variation. Das Problem, das ich habe, ist, dass ich nicht weiß, wie man ein neu erzeugtes Foto zeigt? Wenn ich die Seite neu lade und die gleichen Attribute auswähle, erhalte ich das benötigte Bild, aber ich möchte, dass dies sofort geschieht, nachdem der Benutzer die Attribute ausgewählt hat (und nachdem das Foto erzeugt wurde).Wie WordPress Variation Thumbnail aktualisieren?

Hier sind die Scarps des Codes, den ich verwende. Das Hochladen auf einen externen Link

$upload = wp_upload_bits(basename($mockImageUrl), null, $response['body']); 

eine Anlage zu erzeugen und eine neue URL-Rückkehr:

$attachment_id = wp_insert_attachment($attachment, $upload["file"]); 

    require_once(ABSPATH . 'wp-admin/includes/image.php'); 

    $attachment_data = wp_generate_attachment_metadata($attachment_id, $upload["file"]); // we can think about removing this later 
    wp_update_attachment_metadata($attachment_id, $attachment_data); 
    set_post_thumbnail($variation_id, $attachment_id); 

    echo json_encode($mockImageUrl); 

Jetzt neues Foto für Variation gesetzt, aber der Benutzer sieht noch ein altes Foto, bis erfrischen.

+1

Um das aktuelle DOM zu aktualisieren, ohne die Seite zu aktualisieren, müssen Sie JavaScript verwenden – JiFus

Antwort

0

Sie können das aktuelle DOM aktualisieren, ohne die Seite zu aktualisieren. Sie müssen Bild mit WordPress Ajax hochladen. siehe untenstehenden Link. WordPress image upload Using ajax?

+0

Danke Gufran! Das hat geholfen. – funguy

+0

Sie sind willkommen funguy :) –

Verwandte Themen