SaveTo Wishlist für WooCommerce
Loslegen
So erweitern Sie SaveTo Wishlist mit Hooks und der REST-API - SaveTo Wishlist
  1. Startseite
  2. Wissensdatenbank
  3. Wunschzettel
  4. Entwickler-Leitfäden
  5. Wie Sie SaveTo Wishlist mit Hooks und der REST-API erweitern können
  1. Startseite
  2. Wissensdatenbank
  3. Wunschzettel
  4. Wie Sie SaveTo Wishlist mit Hooks und der REST-API erweitern können

Wie Sie SaveTo Wishlist mit Hooks und der REST-API erweitern können

Erstellen Sie eine benutzerdefinierte Integration, ändern Sie das Aussehen der Wishlist-Schaltfläche oder reagieren Sie, wenn ein Kunde ein Produkt speichert? SaveTo Wishlist bietet Ihnen WordPress-Filter und -Aktionen für jede dieser Aufgaben sowie eine REST-API zum Lesen und Ändern von Wishlists. Dieser Artikel listet die Hooks und Routen auf, die mit SaveTo Wishlist Lite 1.1.8 geliefert werden, mit den Argumenten, die jeder erhält, und einem funktionierenden Beispiel für die gängigen Fälle.

Bevor Sie beginnen

  • Sie benötigen SaveTo Wishlist Lite und WooCommerce aktiv auf der Website. SaveTo Wishlist Pro und Registry fügen ihre eigenen Hooks hinzu, die hier nicht behandelt werden.
  • Jeder Hook-Name beginnt mit stwlite_.
  • Fügen Sie Ihren Code in ein kleines benutzerdefiniertes Plugin oder ein Code-Snippets-Plugin ein. Fügen Sie Platzierungsfilter (siehe unten) in eine Plugin-Datei ein, nicht in die functions.php-Datei eines Themes.
  • Jeder Hook und jede Route in diesem Artikel ist in SaveTo Wishlist Lite 1.1.8 enthalten. Ein Hook, der hier nicht aufgeführt ist, ist kein Teil der öffentlichen Oberfläche, verlassen Sie sich also nicht darauf.

Hooks

Jeder Hook unten listet seinen Typ, die empfangenen Argumente und seine Funktion auf. Wenn Sie einen Callback registrieren, der mehr als ein Argument annimmt, übergeben Sie die Anzahl der Argumente als vierten Parameter von add_filter() oder add_action(), wie die Beispiele zeigen.

Schaltflächenausgabe

Diese Filter ändern das Markup der Wishlist-Schaltfläche, bevor es ausgegeben wird. Das Plugin übergibt das endgültige Markup durch wp_kses(), sodass Tags und Attribute außerhalb seiner Zulassungsliste entfernt werden. Um mehr Tags zuzulassen, verwenden Sie den Filter stwlite_allowed_button_html, der das Array der Zulassungsliste empfängt.

HookTypArgumenteWas es tut
stwlite_wishlist_button_htmlFilter$button_html, $product, $placement, $style, $button_labelFiltert das Markup jeder Wishlist-Schaltfläche, die das Plugin erstellt. Es wird auch ausgeführt, wenn die Schaltfläche ausgeblendet ist, in diesem Fall ist $button_html ein leerer String.
stwlite_wishlist_button_shop_htmlFilter$button_html, $product, $placement, $style, $color_optionsFiltert die Schaltfläche auf Shop- und Archivseiten.
stwlite_wishlist_button_product_htmlFilter$button_html, $product, $placement, $style, $color_optionsFiltert die Schaltfläche auf einzelnen Produktseiten. Wenn Ihr Callback einen leeren String zurückgibt, wird keine Schaltfläche angezeigt.
stwlite_wishlist_cart_button_htmlFilter$button_htmlFiltert die Schaltfläche der Warenkorbseite, die den gesamten Warenkorb speichert.
stwlite_wishlist_button_cart_item_htmlFilter$button_html, $product, $style, $color_optionsFiltert die Pro-Artikel-Schaltfläche im Warenkorb.
stwlite_wishlist_button_show_buttonFilter$show (Standard true), $productGeben Sie false zurück, um die Schaltfläche für ein Produkt auszublenden.
stwlite_wishlist_button_allow_product_multiple_listsFilter$allow (Standard true), $productGeben Sie false zurück, um die Dropdown-Liste „Liste auswählen“ von der Schaltfläche zu entfernen.
stwlite_before_wishlist_button_shop_page, stwlite_after_wishlist_button_shop_pageAktionKeineWird vor und nach der Schaltfläche auf der Shop-Seite ausgeführt.
stwlite_allowed_button_htmlFilter$allowed_htmlFiltert die erlaubte Liste von wp_kses() für die Schaltflächen-Markup.

Dieses Beispiel fügt eine kurze Notiz nach der Schaltfläche für Produkte im Angebot hinzu:

add_filter( 'stwlite_wishlist_button_html', function ( $button_html, $product, $placement, $style, $button_label ) {
    if ( '' === $button_html || ! $product instanceof WC_Product || ! $product->is_on_sale() ) {
        return $button_html;
    }

    return $button_html . '<span class="my-sale-note">On sale</span>';
}, 10, 5 );

Platzierung, Stil und Beschriftungen der Schaltfläche

Diese Filter ändern, wo die Schaltfläche erscheint und wie sie aussieht. Jeder erhält die gespeicherte Einstellung und gibt den zu verwendenden Wert zurück.

HookTypArgumenteWas es tut
stwlite_wishlist_button_shop_placementFilter$placementPlatzierung auf Shop- und Archivseiten.
stwlite_wishlist_button_product_placementFilter$placementPlatzierung auf einzelnen Produktseiten.
stwlite_wishlist_button_shop_style, stwlite_wishlist_button_product_style, stwlite_wishlist_button_cart_styleFilter$styleSchaltflächenstil für jeden Seitentyp.
stwlite_wishlist_button_shop_label, stwlite_wishlist_button_selected_shop_label, stwlite_wishlist_button_cart_labelFilter$labelSchaltflächentext für den nicht gespeicherten Zustand, den gespeicherten Zustand und die Warenkorb-Schaltfläche.
stwlite_wishlist_button_shop_color_options, stwlite_wishlist_button_product_color_options, stwlite_wishlist_button_cart_color_optionsFilter$color_optionsDas Farb-Einstellungen-Array für jeden Seitentyp.

Shop-Platzierungen sind top_right, top_left, above_title, below_title, above_button, below_button und disable. Produktseiten-Platzierungen sind top_image_right, top_image_left, top_cart, bottom_cart, inline_cart, top_title, bottom_title und disable. Das Plugin liest die Platzierung einmal, wenn es beim Hook setup_theme mit Priorität 100 gestartet wird. Ein Platzierungsfilter muss daher vorher hinzugefügt werden. Registrieren Sie ihn also in einer Plugin-Datei und nicht in der functions.php-Datei eines Themes. Die Filter für Stil, Beschriftung und Farbe werden jedes Mal ausgeführt, wenn eine Schaltfläche gerendert wird, sodass sie von jedem Code aus funktionieren.

add_filter( 'stwlite_wishlist_button_product_placement', function ( $placement ) {
    return 'bottom_cart';
} );

Für die entsprechende Einstellungsansicht siehe Anpassen der Platzierung und Stile der Wunschlisten-Schaltfläche in WooCommerce.

Wunschlisten-Daten

Diese Filter ändern die Wunschlistendaten, während das Plugin sie liest. Sie werden bei vielen Anfragen ausgeführt, einschließlich der Überprüfungen von Besitzern und Berechtigungen. Halten Sie Ihre Callbacks daher schnell. Ändern Sie nicht die Werte für id, user_id, status oder is_public, da das Plugin diese liest, um zu entscheiden, wer eine Wunschliste sehen kann.

HookTypArgumenteWas es tut
stwlite_collection_dataFilter$collectionFiltert die rohe Datenbankzeile jedes Mal, wenn eine Wunschliste nach ID, URL-Code oder Namen geladen wird.
stwlite_collections_dataFilter$dataFiltert das Array von Wunschlistenobjekten, das für eine Liste von Wunschlisten zurückgegeben wird.
stwlite_single_collection_dataFilter$dataFiltert ein einzelnes Wunschlistenobjekt nach dem Speichern und in der Admin-Wunschlistenroute.
stwlite_collection_items_dataFilter$dataFiltert das Array von Artikelobjekten für eine Wunschliste.
stwlite_all_wishlistsFilter$collections, $paramsFiltert das Listenresultat (data, total, currentPage), bevor das Frontend es zurückgibt.
stwlite_collection_data_to_updateFilter$data, $paramsFiltert die Spaltenwerte kurz bevor das Plugin eine Wunschliste in die Datenbank schreibt.
stwlite_optionsFilter$optionsFiltert das Optionen-Array, das das Plugin an das Wunschlisten-Frontend-Skript übergibt.

Dieses Beispiel entfernt die Beschreibung aus Wunschlistenobjekten in Listenantworten:

add_filter( 'stwlite_collections_data', function ( $collections ) {
    foreach ( $collections as $collection ) {
        $collection->description = '';
    }

    return $collections;
} );

Benutzer-Wunschlisten-Zugriff

Diese Filter entscheiden, wer eine Wunschliste lesen oder besitzen darf. Bei einer Leseanfrage erlaubt das Plugin zuerst Administratoren mit der manage_options-Berechtigung, dann dem Besitzer der Wunschliste, dann öffentlichen veröffentlichten Wunschlisten und dann seinen eigenen Freigaberegeln. Erst nach diesen Prüfungen ruft es stwlite_user_wishlist_access auf.

HookTypArgumenteWas es tut
stwlite_user_wishlist_accessFilter$granted (Standard null), $data, $user_id, $requestGeben Sie true zurück, um Lesezugriff zu gewähren, false, um ihn zu verweigern, oder null, damit das Plugin entscheidet. $data ist das Wunschlistenobjekt, $user_id ist 0 für einen Gast und $request ist die REST-Anfrage, wenn eine vorhanden ist.
stwlite_user_owns_wishlistFilter$owns, $collection_id, $user_id, $collectionOb der aktuelle Benutzer die Wunschliste besitzt. Es wird nur für eine vorhandene Wunschliste ausgeführt.
stwlite_show_all_wishlists_for_adminFilter$show (Standard false)Gibt true zurück, damit Administratoren jede Kunden-Wunschliste auf der Wunschlisten-Route im Frontend sehen können.

Dieses Beispiel erlaubt Shop-Managern, jede Wunschliste zu lesen:

add_filter( 'stwlite_user_wishlist_access', function ( $granted, $wishlist, $user_id, $request ) {
    if ( $user_id && user_can( $user_id, 'manage_woocommerce' ) ) {
        return true;
    }

    return $granted;
}, 10, 4 );

Wunschlisten-Aktionen

Nutzen Sie diese Aktionen, um zu reagieren, wenn sich etwas ändert, z. B. um Daten an ein CRM zu synchronisieren oder einen Log-Eintrag zu schreiben.

HookTypArgumenteWann es ausgelöst wird
stwlite_before_product_added_to_wishlistAktion$product_id, $quantity, $collection_id, $user_idBevor ein Produkt über den Button oder die KI-Funktionen des Plugins zu einer Wunschliste hinzugefügt wird.
stwlite_after_product_added_to_wishlistAktion$product_id, $quantity, $collection_id, $user_id, $addedNachdem diese hinzugefügt wurden. $added ist false, wenn nichts geschrieben wurde. $collection_id ist der Rohwert der Anfrage und oft 0, was die Standard-Wunschliste bedeutet.
stwlite_before_product_removed_from_wishlistAktion$product_id, $collection_id, $variation_idsBevor ein Produkt über den Button aus einer Wunschliste entfernt wird.
stwlite_after_product_removed_from_wishlistAktion$product_id, $collection_id, $variation_idsNachdem ein Produkt aus einer Wunschliste entfernt wurde, über den Button, die REST-API oder die KI-Funktionen.
stwlite_before_product_added_to_cart, stwlite_after_product_added_to_cartAktion$collection_id, $product_id, $quantity, $variation_idVor und nach dem Verschieben eines Wunschlistenartikels in den Warenkorb.
stwlite_before_save_collectionAktion$dataBevor eine Wunschliste geschrieben wird. $data ist das Array der Spaltenwerte.
stwlite_after_save_collectionAktion$data, $paramsNachdem eine Wunschliste geschrieben wurde. $data ist das gespeicherte Wunschlistenobjekt.
stwlite_after_insert_collection_item, stwlite_after_update_collection_itemAktion$dataNachdem eine Artikelzeile eingefügt oder aktualisiert wurde.
stwlite_before_delete_collectionsAktion$idsBevor Wunschlisten gelöscht werden.
stwlite_after_delete_collectionsAktion$ids, $deletedNachdem Wunschzettel gelöscht wurden. $deleted ist die Anzahl der gelöschten Wunschzettel.

Dieses Beispiel speichert das letzte Produkt, das ein Kunde in seinen Benutzer-Metadaten gespeichert hat:

add_action( 'stwlite_after_product_added_to_wishlist', function ( $product_id, $quantity, $collection_id, $user_id, $added ) {
    if ( ! $added || ! $user_id ) {
        return;
    }

    update_user_meta( $user_id, 'my_last_wishlisted_product', (int) $product_id );
}, 10, 5 );

Admin-Einstellungsregisterkarten und -Steuerelemente

Der Einstellungsbildschirm erstellt seine Registerkarten und Felder aus Arrays. Verwenden Sie diese Filter, um Ihre eigene Registerkarte, Ihren eigenen Abschnitt oder Ihr eigenes Feld hinzuzufügen oder ein vorhandenes zu ändern.

HookTypArgumenteWas es tut
stwlite_admin_setting_tabsFilter$tabsFinaler Filter für das vollständige Registerkarten-Array.
stwlite_admin_setting_controlsFilter$controlsFinaler Filter für das vollständige Steuerelement-Array.
stwlite_admin_data_tablesFilter$data_tables (standardmäßig leeres Array)Registriert Datentabellen für die Einstellungs-App.
stwlite_admin_setting_default_tabs, stwlite_admin_setting_default_parent_tabs, stwlite_admin_setting_default_child_tabsFilter$tabsFrühere Filter für das Registerkarten-Array, die übergeordnete Registerkarte und die untergeordneten Registerkarten.
stwlite_admin_setting_default_general_tab, stwlite_admin_setting_default_wishlist_page_tab, stwlite_admin_setting_default_wishlist_guest_tab, stwlite_admin_setting_default_wishlist_button_tab, stwlite_admin_setting_default_importer_tabFilter$tabFiltert eine untergeordnete Registerkarte. Die _sections-Varianten dieser Namen filtern die Abschnitte dieser Registerkarte.
stwlite_admin_setting_default_controlsFilter$controlsFrüherer Filter für das Steuerelement-Array.
stwlite_admin_setting_default_general_tab_controls, stwlite_admin_setting_default_wishlist_page_tab_controls, stwlite_admin_setting_default_wishlist_guest_tab_controls, stwlite_admin_setting_default_wishlist_button_tab_controlsFilter$controlsFiltert die Steuerelemente einer Registerkarte.

Registerkarten befinden sich unter dem übergeordneten Schlüssel saveto_wishlist. Die Schlüssel der untergeordneten Registerkarten sind general, wishlist_page, wishlist_guest, wishlist_button und importer. Jede untergeordnete Registerkarte enthält sort, key, label, icon und ein sections-Array. Das Steuerelement-Array ist als $controls[ 'saveto_wishlist' ][ $tab_key ][ $section_key ] verschlüsselt, und jeder Abschnitt enthält eine Liste von Steuerelement-Arrays. Ein Steuerelement hat einen type (z. B. switch oder select), ein label, eine id, die der Optionsname ist, eine description und einen default. Steuerelemente vom Typ switch verwenden die Werte yes und no.

Dieses Beispiel fügt der Registerkarte „Allgemein“ einen Schalter hinzu. Es wird davon ausgegangen, dass der Abschnittsschlüssel save_to_wishlist_settings der erste Abschnitt dieser Registerkarte ist.

add_filter( 'stwlite_admin_setting_default_general_tab_controls', function ( $controls ) {
    $controls['save_to_wishlist_settings'][] = array(
        'type'        => 'switch',
        'label'       => __( 'Log wishlist adds', 'my-plugin' ),
        'id'          => 'my_plugin_log_wishlist_adds',
        'description' => __( 'If Yes, write an entry to the debug log when a customer saves a product.', 'my-plugin' ),
        'options'     => array(
            'yes' => __( 'Yes', 'my-plugin' ),
            'no'  => __( 'No', 'my-plugin' ),
        ),
        'default'     => get_option( 'my_plugin_log_wishlist_adds', 'no' ),
    );

    return $controls;
} );

Der Einstellungsbildschirm speichert jeden Steuerelementwert über die später in diesem Artikel beschriebene Admin-Einstellungsroute. Zwei dynamische Filter ermöglichen es Ihnen, eine Speicherung oder eine Schaltfläche selbst zu handhaben:

  • stwlite_group_settings_{action} ist ein Filter, der die gespeicherten Werte als $options empfängt, wenn die Payload der Einstellungen einen Schlüssel namens action enthält. Er gibt das Antwort-Array mit status und message zurück.
  • stwlite_trigger_{action} ist ein Filter, der die Anfrageparameter als $params empfängt, wenn die Aktionsroute aufgerufen wird. Er gibt ein Array mit status und message sowie eine optionale redirect-URL zurück.

Frontend-Übersetzungen

HookTypArgumenteWas es tut
stwlite_frontend_translationsFilter$i18nFiltert die Zuordnung von Übersetzungs-Schlüsseln zu übersetzten Zeichenketten, die das Plugin an die Wunschlisten-App übergibt. Gibt das Array zurück. Ein Rückgabewert, der kein Array ist, wird ignoriert.

Die Wunschlisten-Seite lädt diese Zeichenketten zweimal pro Anfrage, daher sollte Ihre Callback eine Zuordnung zusammenführen und aufwändige Arbeiten vermeiden. Dieses Beispiel ändert eine Zeichenkette. Verwenden Sie einen Schlüssel, der bereits im Array vorhanden ist.

add_filter( 'stwlite_frontend_translations', function ( $i18n ) {
    $i18n['just_now'] = __( 'a moment ago', 'my-plugin' );

    return $i18n;
} );

Nutzungs-Tracking-Daten

Wenn ein Shop die Nutzungs-Verfolgung erlaubt hat, sendet das Plugin periodisch eine Meldung. Diese Filter ermöglichen es einem Begleit-Plugin, diese Daten zu ergänzen. Werte müssen Skalare sein und dürfen keine Anmeldeinformationen oder persönlichen Daten enthalten.

HookTypArgumenteWas es tut
stwlite_usage_checkin_dataFilter$dataFiltert die gesamte Check-in-Payload.
stwlite_usage_settingsFilter$settingsFiltert die Einstellungen-Namen und Wertpaare in der Payload.
stwlite_usage_effectivenessFilter$data, $start, $endFiltert die wöchentlichen Effektivitätsmetriken. $start und $end sind UTC-Daten im Format Y-m-d H:i:s.

Die Einstellung „Nutzungs-Tracking“ auf der Registerkarte „Allgemein“ steuert die Zustimmung. Wenn ein Shop diese auf Nein setzt, meldet das Plugin nichts, unabhängig davon, was Ihre Filter zurückgeben.

REST-API

Alle Routen verwenden den Namespace saveto-wishlist/v1, sodass der vollständige Pfad https://your-site.com/wp-json/saveto-wishlist/v1/ gefolgt vom Pfad in den Tabellen ist. Sie folgen der normalen WordPress REST-Authentifizierung. Browser-Code sendet den X-WP-Nonce-Header für einen angemeldeten Benutzer, und andere Clients können ein Anwendungspasswort mit HTTP Basic-Authentifizierung verwenden. Eine abgelehnte Anfrage gibt den Fehler rest_forbidden_context mit Status 401 für einen abgemeldeten Aufrufer oder 403 für einen angemeldeten zurück.

Kunden-Routen

Diese Routen steuern den Wunschlisten-Button und die Wunschlisten-Seite.

Methode und PfadWer kann sie aufrufenWas es tut
POST /frontend/endpointsAngemeldete Benutzer. Gäste werden abgewiesen, es sei denn, ein Berechtigungsfilter erlaubt sie.Führt eine Wunschlisten-Aktion aus, die durch den Parameter action gewählt wird. Siehe die Aktions-Tabelle unten.
GET /frontend/endpoints/wishlistsWie oben.Gibt data, total und currentPage für Wunschlisten zurück. Kunden sehen ihre eigenen Wunschlisten. Das Übergeben von is_public=true listet die öffentlichen Wunschlisten anderer Kunden auf.
GET /frontend/endpoints/wishlist-itemsEingeloggte Benutzer. Ein Gast kann nur eine öffentliche Wunschliste lesen, die mit collection_id benannt ist.Gibt die Artikel der Wunschliste im erforderlichen collection_id-Parameter zurück. Der Aufrufer muss auch berechtigt sein, diese Wunschliste anzuzeigen, oder die Route gibt einen 401- oder 403-Fehler zurück.
POST /frontend/endpoints/guest-wishlist-productsNur für Gäste. Ein eingeloggter Benutzer erhält einen Fehler.Nimmt ein products-Array von Objekten mit productId, quantity, priority und addedAt entgegen. Gibt die passenden Produktdaten für eine im Browser gespeicherte Wunschliste zurück.

Die Route POST /frontend/endpoints antwortet immer mit HTTP 200 und einem status-Feld. Überprüfen Sie daher status im Body. Ein Aufrufer, der die Wunschliste nicht besitzt, erhält status auf error gesetzt. Nur Benutzer mit der Berechtigung manage_options können in die Wunschliste eines anderen Benutzers schreiben.

action-WertParameter, die gelesen werdenHook, der zuerst ausgelöst wird
add_wishlistname, description, status, is_default, is_public, url_code, emails, user_ids, allowed_roles, allowed_edit_emailsstwlite_before_api_save_collection_add_wishlist mit $data
update_wishlistid plus jedes Feld von add_wishlist. Nur die von Ihnen gesendeten Felder werden aktualisiert.stwlite_before_api_save_collection_update_wishlist mit $data
remove_wishlistidsKeine
add_wishlist_itemcollection_id, product_id, variation_id, quantity, priority, notesstwlite_before_api_save_collection_item_add_wishlist_item mit $data
update_wishlist_itemid plus die Felder von add_wishlist_itemstwlite_before_api_save_collection_item_update_wishlist_item mit $data
move_wishlist_itemid, collection_idstwlite_before_api_save_collection_item_move_wishlist_item mit $data
remove_wishlist_itemcollection_id, product_id, variation_idstwlite_after_product_removed_from_wishlist wird nach der Entfernung mit $product_id, $collection_id, $variation_ids ausgelöst
update_wishlist_item_positionListenKeine

Diese Anfrage listet die Wunschzettel des Kontos auf, dem das Anwendungspasswort gehört:

curl -u "username:application-password" \
  "https://your-site.com/wp-json/saveto-wishlist/v1/frontend/endpoints/wishlists"

Diese Filter ändern, wer die Kunden-Routenprüfungen besteht und was die Gast-Route zurückgibt:

HookTypArgumenteWas es tut
stwlite_api_user_permissions_checkFilter$response, $requestEndergebnis für POST /frontend/endpoints und GET /frontend/endpoints/wishlists. Gibt true oder einen WP_Error zurück.
stwlite_api_user_force_accessFilter$force (Standard false), $requestGibt true zurück, um einem nicht angemeldeten Aufrufer den Zugriff auf diese beiden Routen zu gestatten.
stwlite_check_any_user_has_permissionFilter$response, $requestEndergebnis für die Route wishlist-items.
stwlite_check_any_user_has_permission_validationFilter$valid (Standard false), $data, $requestGibt true zurück, um einem nicht angemeldeten Aufrufer das Lesen einer Wunschliste zu gestatten, die nicht öffentlich ist.
stwlite_check_guest_permissionFilter$response, $requestEndergebnis für die Route guest-wishlist-products.
stwlite_guest_wishlist_products_dataFilter$products, $product_dataFiltert die Produktliste, die die Gast-Route zurückgibt.

Admin-Routen

Die folgenden Routen dienen den eigenen Admin-Bildschirmen des Plugins und können sich zwischen den Versionen ändern. Bevorzugen Sie für Integrationen die obigen Hooks. Jede Admin-Route erfordert die Berechtigung manage_options. Verwenden Sie den Filter stwlite_api_admin_permissions_check ($response, $request), um dies zu ändern, und seien Sie vorsichtig, wenn Sie den Zugriff erweitern, da diese Routen Website-Optionen schreiben und Wunschlisten löschen können.

Methode und PfadWas es tut
POST /admin/wishlistsErstellt oder aktualisiert eine Wunschliste aus dem Anfragetext. Gibt einen 422-Fehler zurück, wenn Sie Artikel zu einer Wunschliste mit dem Status draft hinzufügen, die noch nicht gespeichert sind.
DELETE /admin/wishlistsLöscht die Wunschlisten im Parameter ids. Die Antwort listet count und skipped auf. Eine Wunschliste wird übersprungen, wenn sie die letzte Wunschliste ihres Besitzers ist.
GET /admin/wishlists/collectionsGibt eine Seite mit Wunschlisten mit data, total und currentPage zurück.
GET /admin/wishlists/collection/{id}Gibt eine Wunschliste anhand der numerischen ID zurück.
GET /admin/wishlists/itemsPlatzhalter-Route, die eine leere data-Liste zurückgibt.
POST /admin/settings/saveSpeichert Einstellungen. Der Body ist eine Liste von Objekten mit key und value. Ein Wert von true oder false wird als yes oder no gespeichert.
POST /admin/settings/actionFührt den stwlite_trigger_{action}-Filter für den action-Parameter aus.
GET /admin/importer/sourcesListet die vom Importer erkannten Wunschlisten-Plugins auf der Website auf.
GET /admin/importer/preview/{source}Gibt die Elementanzahl und eine Vorschau für eine Quelle zurück.
POST /admin/importer/importStartet einen Import. Er nimmt source und ein optionales options-Objekt (merge_existing, preserve_default, preserve_privacy, batch_number, job_id). Ein Benutzer kann alle 300 Sekunden einen Import starten.
GET /admin/importer/import/{job_id}Gibt den Fortschritt eines Importauftrags zurück.
DELETE /admin/importer/import/{job_id}Bricht einen Importauftrag ab.

Die integrierten Importquellen sind yith, ti, moreconvert und wpc. Verwenden Sie den stwlite_available_importers-Filter, der ein Array empfängt und zurückgibt, das einen Quell-Slug einem Importer-Klassennamen zuordnet, um eine weitere zu registrieren.

Häufig gestellte Fragen

Warum tut mein Platzierungsfilter nichts?

Das Plugin liest die Platzierung, wenn es beim setup_theme-Hook mit der Priorität 100 startet. Fügen Sie den Filter aus einer Plugin-Datei hinzu. Eine functions.php-Datei des Themes wird nach diesem Zeitpunkt geladen.

Warum verliert mein Button-Markup ein Tag oder Attribut?

Das Plugin leitet das Button-Markup durch wp_kses(). Fügen Sie das Tag oder Attribut mit dem stwlite_allowed_button_html-Filter zur Zulassungsliste hinzu.

Warum gibt die Speicherroute HTTP 200 für eine abgelehnte Anfrage zurück?

POST /frontend/endpoints antwortet immer mit HTTP 200 und legt das Ergebnis im Feld status des Bodys ab. Lesen Sie status und message anstelle des HTTP-Codes.

Was kommt als Nächstes

Brauchen Sie Hilfe?

Wenn Sie eine Frage haben oder auf Probleme stoßen, sind wir für Sie da.

War dieser Artikel hilfreich?

Verwandte Artikel

Support benötigt?

Können Sie die gesuchte Antwort nicht finden?
Support kontaktieren
Kauf abschließen