Erstellen Sie eine benutzerdefinierte Integration mit Geschenkkatalogen oder ändern Sie das Verhalten von Katalogen in Ihrem Shop? SaveTo Wishlist Registry fügt PHP-Hooks und REST-API-Routen hinzu, mit denen Sie beides tun können, ohne Plugin-Dateien zu bearbeiten. Dieser Artikel listet die Routen auf, wer sie aufrufen kann, was die öffentlichen Routen zurückgeben und welche Hooks Sie verwenden können, mit funktionierenden Beispielen.
Für die Entwicklerreferenz des Basis-Plugins siehe So erweitern Sie SaveTo Wishlist mit Hooks und der REST-API.
Bevor Sie beginnen
- SaveTo Wishlist Registry (in WordPress als SaveTo Wishlist Gift Registry Addon aufgeführt) benötigt WooCommerce und SaveTo Wishlist Lite als aktive Plugins. Es ist in den Plus- und Business-Plänen enthalten und verfügt über einen eigenen Lizenzschlüssel, der von SaveTo Wishlist Pro getrennt ist.
- Jeder Hook-Name beginnt mit
stwreg_. Fügen Sie Ihren Code zu einem kleinen Plugin oder zurfunctions.php-Datei eines Child-Themes hinzu. - Die in diesem Artikel beschriebenen Hooks und Routen sind in SaveTo Wishlist Registry 1.0.0 vorhanden.
- Registry-Daten werden in benutzerdefinierten Tabellen gespeichert, die Ihr WordPress-Tabellenpräfix verwenden:
wp_stw_registries,wp_stw_registry_items,wp_stw_registry_purchasesundwp_stw_registry_contributions. Verwenden Sie die unten aufgeführten Hooks und Routen, anstatt direkt in diese Tabellen zu schreiben.
So funktioniert die REST-API
Alle Routen verwenden den Namespace saveto-wishlist-registry/v1. Auf einer Website unter https://example.com lautet die vollständige Basis-URL https://example.com/wp-json/saveto-wishlist-registry/v1/.
Routen, die einen angemeldeten Benutzer benötigen, verwenden die Standard-WordPress-REST-Authentifizierung. Senden Sie in einer Browsersitzung den Header X-WP-Nonce mit einem wp_rest-Nonce. Verwenden Sie für Server-zu-Server-Aufrufe ein WordPress-Anwendungspasswort. Öffentliche Routen erfordern keinen Login.
Die Spalte „Wer kann es aufrufen“ in den Routentabellen verwendet diese Begriffe:
- Jeder: Kein Login erforderlich.
- Angemeldeter Benutzer: Jedes angemeldete Konto.
- Registry-Besitzer: Der angemeldete Benutzer, dem die Registry in der Route gehört, oder jeder Benutzer mit der Berechtigung
manage_woocommerce(standardmäßig Shop-Manager und Administratoren). - Kaufbesitzer: Der angemeldete Benutzer, dem die Registry gehört, zu der der Kauf gehört, oder jeder Benutzer mit der Berechtigung
manage_woocommerce. - Besitzer oder Shop-Manager (registry_id): Der Besitzer der Registry, die im Abfrageparameter
registry_idangegeben ist, oder ein Benutzer mit der Berechtigungmanage_woocommerce. Wennregistry_idfehlt, bestehen nur Benutzer mit dieser Berechtigung. - Shop-Manager: Ein Benutzer mit der Berechtigung
manage_woocommerce.
Fehler werden als Standard-WordPress-REST-Fehler mit einem Code, einer Nachricht und einem HTTP-Status zurückgegeben. Ratenbegrenzte Anfragen geben den Status 429 mit dem Code rate_limited zurück.
REST-API-Routen
Öffentliche Routen
| Methode | Route | Wer kann sie aufrufen | Was es tut |
|---|---|---|---|
| GET | /registry/search | Jeder | Durchsucht veröffentlichte Wunschlisten. Query-Parameter: name (mindestens 2 Zeichen), event_type, page, per_page (maximal 20, Standard 20). Beschränkt auf 30 Anfragen pro 5 Minuten für jede IP-Adresse. |
| GET | /registry/{url_code} | Jeder | Gibt eine Wunschliste anhand ihres öffentlichen Codes zurück. Der Code besteht aus 4 bis 16 Buchstaben oder Zahlen. Gibt 404 für eine gelöschte Wunschliste zurück. Archivierte Wunschlisten werden weiterhin zurückgegeben. |
| GET | /registry/{url_code}/items | Jeder | Gibt die Artikel in einer Wunschliste zurück. Gibt 404 für eine gelöschte Wunschliste zurück. |
| POST | /contributions | Jeder | Erfasst einen ausstehenden Geldbeitrag. Body-Felder: registry_id, amount, registry_item_id (optional), contributor_name, contributor_email, message. Die Wunschliste muss veröffentlicht sein und die Fondsbeteiligung muss aktiviert sein. Gibt die neue id und den Status pending zurück. |
Die Route POST /contributions erfasst nur eine Zeile mit dem Status pending. Sie nimmt keine Zahlung entgegen. Eine Zahlungsintegration muss den Status selbst aktualisieren.
Routen des Wunschlistenbesitzers
| Methode | Route | Wer kann sie aufrufen | Was es tut |
|---|---|---|---|
| POST | /registry/convert | Eingeloggter Benutzer | Konvertiert eine Wunschliste in eine Wunschliste für den aktuellen Benutzer. Benötigt eine aktive Lizenz, andernfalls wird 403 mit dem Code license_inactive zurückgegeben. Body-Felder: collection_id, event_type, event_date, registrant_name, co_registrant_name, message, location, cover_image_attachment_id, allow_fund_pooling. |
| POST | /registry/cover-image | Eingeloggter Benutzer | Lädt ein Titelbild als Multipart-Datei im Feld file hoch. JPEG, PNG oder WebP, bis zu 5 MB. Gibt attachment_id und url zurück. |
| GET | /my-registries | Eingeloggter Benutzer | Listet nur die Wunschlisten auf, die dem aktuellen Benutzer gehören, einschließlich Shop-Managern, mit Artikelanzahlen, Dankesanzahlen und einem Gesamtblock stats. |
| PUT | /registry/{id} | Wunschlistenbesitzer | Aktualisiert die Wunschlistendetails. Senden Sie einen JSON-Body mit den zu ändernden Feldern. |
| DELETE | /registry/{id} | Wunschlistenbesitzer | Löscht die Wunschliste. Gibt {"deleted":true} zurück. |
| POST | /registry/{id}/items | Wunschlistenbesitzer | Fügt ein Produkt zur Wunschliste hinzu. Body-Felder: product_id (erforderlich), variation_id, quantity (Standard 1), priority (Standard medium; zulässige Werte sind low, medium und high). |
| PATCH | /registry/{id}/items/reorder | Wunschlistenbesitzer | Speichert eine neue Artikelreihenfolge. Body-Feld: item_ids (erforderliches Array von Artikel-IDs). Jede ID muss zur Wunschliste gehören. |
| PATCH | /registry/{id}/items/{item_id} | Wunschlistenbesitzer | Ändert die angeforderte Menge eines Artikels. Body-Feld: quantity. Die Menge kann nicht unter die bereits gekaufte Anzahl fallen. Gibt 409 zurück, wenn die Liste archiviert ist. |
| DELETE | /registry/{id}/items/{item_id} | Wunschlistenbesitzer | Entfernt einen Artikel. Gibt 409 zurück, wenn die Liste archiviert ist. |
| GET | /registry/{id}/products/search | Wunschlistenbesitzer | Sucht nach Produkten zum Hinzufügen. Query-Parameter: q, per_page. Limitiert auf 60 Anfragen pro 5 Minuten für jeden Benutzer. |
| GET | /registry/{id}/products/{product_id}/variations | Wunschlistenbesitzer | Listet die Variationen eines Produkts auf. Limitiert auf 60 Anfragen pro 5 Minuten für jeden Benutzer. |
Kauf- und Beitragsrouten
| Methode | Route | Wer kann sie aufrufen | Was es tut |
|---|---|---|---|
| GET | /purchases | Besitzer oder Shop-Manager (registry_id) | Listet Käufe für eine Liste auf. Query-Parameter: registry_id, thank_you_sent (all, true oder false), page, per_page, orderby, order. Jede Zeile enthält den Namen und die E-Mail des Käufers, daher können nur Besitzer und Shop-Manager sie lesen. |
| POST | /purchases/{id}/note | Kaufbesitzer | Speichert die Notiz des Besitzers zu einem Kauf. Body-Feld: note. |
| POST | /purchases/{id}/thank-you | Kaufbesitzer | Markiert einen Kauf als gedankt oder nicht. Body-Feld: sent. |
| POST | /purchases/bulk-thank-you | Kaufbesitzer | Markiert mehrere Käufe auf einmal. Body-Felder: ids und sent. Für einen Besitzer müssen alle IDs zu Listen gehören, die ihm gehören. |
| GET | /contributions | Besitzer oder Shop-Manager (registry_id) | Listet die Beiträge für die Liste im Query-Parameter registry_id auf, die neuesten zuerst. Zeilen enthalten die E-Mail des Beitragszahlers. |
Listen-Admin-Routen
Alle Admin-Routen benötigen einen Shop-Manager.
| Methode | Route | Was es tut |
|---|---|---|
| GET | /admin/registries | Listet Listen auf. Query-Parameter: status, event_type, search, orderby, order, page, per_page, include_deleted. |
| GET | /admin/registries/{id} | Gibt eine Liste mit ihren Artikeln und bis zu 100 Käufen zurück. |
| PUT | /admin/registries/{id} | Aktualisiert eine Liste als Administrator. |
| DELETE | /admin/registries/{id} | Löscht eine Liste als Administrator. |
| POST | /admin/registries/{id}/close | Archiviert eine Liste. Die öffentliche Seite bleibt mit einem Archivbanner online. |
| POST | /admin/registries/{id}/restore | Stellt ein Register wieder her. |
| POST | /admin/registries/bulk | Führt eine Aktion für viele Register aus. Body-Felder: action (archive, unarchive oder delete) und ids. Gibt ein Ergebnis für jede ID sowie succeeded und failed Zählungen zurück. |
| POST | /admin/registries/convert | Konvertiert eine Wunschliste in ein Register für den Besitzer der Wunschliste. Erforderliches Body-Feld: collection_id. Andere Felder entsprechen /registry/convert. |
| GET | /admin/registries/by-collections | Findet das Register für jede Wunschlisten-ID im Abfrageparameter ids (kommagetrennt). Gibt registry_id, url_code, status und public_url für jede Übereinstimmung zurück. Gelöschte Register werden ausgelassen. |
Was die öffentlichen Routen preisgeben
Öffentliche Routen können von jedem aufgerufen werden. Prüfen Sie daher, was sie zurückgeben, bevor Sie darauf aufbauen.
GET /registry/{url_code} gibt den Registereintrag und die Landingpage-Daten in einer einzigen Antwort zurück. Sie enthält:
- Registerfelder:
id,collection_id,owner_user_id,url_code,event_type,event_date,registrant_name,co_registrant_name,message,location,cover_image_id,allow_fund_pooling,status,previous_url_code,created_atundupdated_at. - Anzeigefelder:
title,event_type_label,event_date_iso,event_date_formatted,registrant_names,cover_image_url,cover_image_alt,is_archived,is_ownerundpublic_url. - Eine
itemsListe. Jeder Artikel enthält den Produkttitel, die Produkt-URL, das Bild, den formatierten Preis, diequantityund diepurchased_quantity.
Wenn der Aufrufer der Besitzer des Registers ist oder ein Shop-Manager ist, enthält die Antwort auch eine Liste von event_types.
GET /registry/{url_code}/items gibt jeden Artikel mit seiner ID, einem product Block (ID, Variations-ID, Name, SKU, Thumbnail-URL, formatierter Preis und ob das Produkt noch existiert), quantity_wanted, quantity_purchased, quantity_remaining, is_fully_claimed, is_archived und priority zurück.
GET /registry/search gibt nur veröffentlichte Register zurück. Jedes Ergebnis enthält id, url_code, event_type, event_date, registrant_name, co_registrant_name, cover_image_id, public_url und event_date_formatted. Die Antwort enthält auch total, page und per_page.
Keine der öffentlichen Routen gibt Käufernamen, Käufer-E-Mails, Kaufzeilen, Bestell-IDs oder Beitragszeilen zurück. Diese sind nur über die Eigentümer- und Admin-Routen verfügbar. Verwenden Sie den untenstehenden stwreg_registry_data-Filter, um Felder aus der GET /registry/{url_code}-Antwort hinzuzufügen oder zu entfernen. Testen Sie Ihre Registrierungsseite, nachdem Sie ein Feld entfernt haben.
Hooks
Die folgenden Hooks sind am nützlichsten für die Erweiterung des Plugins. Die Anzahl der Argumente ist exakt. Wenn Sie einen Hook mit mehr als einem Argument hinzufügen, übergeben Sie die Anzahl der Argumente als vierten Parameter von add_filter() oder add_action().
Filter für Registrierungsdaten und die Landingpage
| Filter | Argumente | Was es ändert |
|---|---|---|
stwreg_registry_data | $data (Array), $row (Objekt) | Die vollständige Antwort von GET /registry/{url_code}. $row ist die rohe Registrierungszeile. |
stwreg_registry_items_data | $response (Array), $row (Objekt) | Die Antwort von GET /registry/{url_code}/items. Das Array enthält data, total, currentPage und is_archived. |
stwreg_registry_landing_data | $payload (Array), $row (Objekt) | Die Daten, die zum Erstellen der Landingpage und der REST-Antwort verwendet werden, bevor sie gerendert werden. |
stwreg_search_results | $results (Array), $args (Array) | Das Ergebnis der Registrierungssuche, bevor es zurückgegeben wird. Das Array enthält data, total, page und per_page. |
stwreg_landing_html | $html (String), $payload (Array) | Das endgültige HTML der gesamten Registrierungs-Landingpage. |
stwreg_landing_item_card | $html (String), $item (Array), $payload (Array) | Das HTML einer einzelnen Artikelkarte auf der Landingpage. |
Geben Sie immer denselben Typ zurück, den Sie erhalten. Das Plugin wandelt den Rückgabewert in ein Array oder einen String um.
Dieses Beispiel fügt ein benutzerdefiniertes Feld zur öffentlichen Registrierungsantwort hinzu:
add_filter( 'stwreg_registry_data', function ( array $data, $row ) {
$data['shipping_note'] = 'Gifts ship within 3 business days.';
return $data;
}, 10, 2 );
Dieses Beispiel fügt eine Textzeile unter der Landingpage hinzu:
add_filter( 'stwreg_landing_html', function ( $html, $payload ) {
if ( ! empty( $payload['is_archived'] ) ) {
return $html;
}
return $html . '<p>' . esc_html__( 'Need help choosing a gift? Contact us.', 'your-text-domain' ) . '</p>';
}, 10, 2 );
Die Landingpage wird auch aus kleineren Abschnittsfiltern aufgebaut, einer für jeden Teil der Seite. Ihre Namen beginnen mit stwreg_landing_section_ und sie nehmen $html und $payload entgegen. Beispiele sind stwreg_landing_section_header, stwreg_landing_section_message und stwreg_landing_section_footer. Um das Aussehen der Seite ohne Code zu ändern, siehe Einstellungen für das Erscheinungsbild der Registrierungs-Landingpage.
Ratenbegrenzungsfilter
Die folgenden Routen begrenzen, wie oft ein Benutzer oder eine IP-Adresse sie aufrufen kann. Jede Grenze hat zwei Filter. Einer legt die Anzahl der Anfragen fest. Der andere legt das Zeitfenster in Sekunden fest. Jeder Filter nimmt ein Argument entgegen und muss eine Ganzzahl zurückgeben.
| Limit-Filter | Fenster-Filter | Standard | Route | Gezählt pro |
|---|---|---|---|---|
stwreg_add_item_rate_limit | stwreg_add_item_rate_window | 30 Anfragen in 5 Minuten | POST /registry/{id}/items | Benutzer |
stwreg_cover_image_rate_limit | stwreg_cover_image_rate_window | 30 Anfragen in 5 Minuten | POST /registry/cover-image | Benutzer |
stwreg_convert_rate_limit | stwreg_convert_rate_window | 5 Anfragen in 5 Minuten | POST /registry/convert | Benutzer |
stwreg_contribute_rate_limit | stwreg_contribute_rate_window | 10 Anfragen in 5 Minuten | POST /contributions | IP-Adresse und Registrierung |
Das Suchlimit (30 Anfragen in 5 Minuten für jede IP-Adresse) und die Produkt- und Variationssuchlimits (60 Anfragen in 5 Minuten für jeden Benutzer) haben keinen Filter. Das Limit für den Beitragsbetrag hat seinen eigenen Filter, stwreg_contribution_max_amount (float, Standard 100000).
Dieses Beispiel erhöht das Limit für das Hinzufügen von Artikeln auf 60 Anfragen in 10 Minuten:
add_filter( 'stwreg_add_item_rate_limit', function ( $limit ) {
return 60;
} );
add_filter( 'stwreg_add_item_rate_window', function ( $window ) {
return 10 * MINUTE_IN_SECONDS;
} );
Standardmäßig verwendet das Plugin REMOTE_ADDR, um die IP-Adresse des Besuchers für IP-basierte Limits zu ermitteln. Wenn Ihre Website hinter einem Proxy oder CDN steht, ist REMOTE_ADDR die Proxy-Adresse, sodass alle Besucher ein Limit teilen. Verwenden Sie den Filter stwreg_trusted_ip_headers, um die Servervariablen aufzulisten, die die echte IP-Adresse enthalten. Listen Sie nur Header auf, die Ihr Proxy setzt, da Besucher die anderen fälschen können.
add_filter( 'stwreg_trusted_ip_headers', function ( array $headers ) {
$headers[] = 'HTTP_CF_CONNECTING_IP';
return $headers;
} );
Kaufaktionen
| Aktion | Argumente | Wann es ausgeführt wird |
|---|---|---|
stwreg_after_save_purchase | $purchase_id (int), $payload (array) | Nachdem eine Kaufzeile erstellt oder aktualisiert wurde. Sie wird für neue Zeilen und für Aktualisierungen einer bestehenden Bestellposition ausgeführt. |
stwreg_after_void_purchase | $purchase_id (int), $purchase (object), $previous_status (string), $refunded_quantity (int) | Wenn ein Kauf in den Status "ungültig" übergeht, z. B. nach einer Rückerstattung. |
stwreg_after_record_purchases_from_order | $order_id (int), $order (WC_Order) | Nachdem das Plugin eine bezahlte Bestellung mit Registrierungsartikeln verarbeitet hat. Es wird auch ausgeführt, wenn einige Artikel nicht zugeordnet werden konnten. |
stwreg_ueberkauf_erfasst | $registry_item_id (int), $purchased_total (int), $requested_quantity (int) | Nachdem die Gesamtzahl der erfassten Käufe für einen Artikel höher ist als die vom Eigentümer angeforderte Menge. |
Das $payload Array von stwreg_after_save_purchase hat diese Schlüssel: registry_id, registry_item_id, order_id, line_item_id, quantity, buyer_name, buyer_email und status. Der Status ist recorded, voided oder refunded. Das Plugin speichert Käufe aus Bestellungen und speichert sie erneut, wenn dieselbe Bestellposition erneut verarbeitet wird. Schreiben Sie Ihren Handler so, dass er sicher zweimal für denselben Kauf ausgeführt werden kann.
add_action( 'stwreg_after_save_purchase', function ( $purchase_id, $payload ) {
if ( 'recorded' !== $payload['status'] ) {
return;
}
error_log( sprintf(
'Registry %d: item %d bought (purchase %d).',
$payload['registry_id'],
$payload['registry_item_id'],
$purchase_id
) );
}, 10, 2 );
Ein Registrierungsartikel kann mehr erfasste Käufe haben, als der Eigentümer angefordert hat, z. B. wenn zwei Käufer gleichzeitig auschecken. Das Plugin erlaubt dies absichtlich. Wenn dies geschieht, wird stwreg_overpurchase_recorded ausgeführt, nachdem die neue Gesamtzahl gespeichert wurde. Die Aktion kann jedes Mal erneut ausgeführt werden, wenn das Plugin einen Artikel neu berechnet, der immer noch über seiner Menge liegt. Gehen Sie also nicht davon aus, dass sie nur einmal ausgeführt wird.
add_action( 'stwreg_overpurchase_recorded', function ( $registry_item_id, $purchased_total, $requested_quantity ) {
error_log( sprintf(
'Registry item %d: %d bought, %d requested.',
$registry_item_id,
$purchased_total,
$requested_quantity
) );
}, 10, 3 );
E-Mail-Filter und -Aktionen
Das Plugin sendet drei E-Mails: die Käufer-E-Mail an den Eigentümer (Typ owner_new_purchase), die Rückerstattungs-E-Mail an den Eigentümer (Typ owner_order_refund) und die E-Mail an den Administrator für neue Registrierungen (Typ admin_new_registry). Um zu ändern, was sie sagen, siehe Einrichtung von E-Mail-Benachrichtigungen für Geschenkkörbe.
| Hook | Typ | Argumente | Was es tut |
|---|---|---|---|
stwreg_email_send_async | Filter | $async (bool), $payload (array) | Standardmäßig true. Wenn true, reiht das Plugin die E-Mail mit WP-Cron ein. Wenn false, sendet es die E-Mail in derselben Anfrage. |
stwreg_email_{type}_subject | Filter | $subject (string), $context (array), $payload (array) | Ändert den Betreff. Ersetzen Sie {type} durch einen E-Mail-Typ, z. B. stwreg_email_owner_new_purchase_subject. |
stwreg_email_{type}_body | Filter | $body (string), $context (array), $payload (array) | Ändert den gerenderten Body, bevor das E-Mail-Layout hinzugefügt wird. |
stwreg_after_email_dispatched | Aktion | $type (string), $payload (array), $success (bool) | Wird ausgeführt, nachdem das Plugin versucht hat, eine E-Mail zu senden. $success ist false, wenn die E-Mail übersprungen oder fehlgeschlagen ist. |
Verwenden Sie den synchronen Modus, wenn WP-Cron auf Ihrer Website deaktiviert ist oder wenn Sie eine E-Mail in einer einzigen Anfrage testen möchten:
add_filter( 'stwreg_email_send_async', '__return_false' );
Wenn WP-Cron deaktiviert ist und Sie die Standardeinstellung belassen, warten E-Mails in der Warteschlange, bis ein echter Cron-Job ausgeführt wird.
Dieses Beispiel ändert den Betreff der E-Mail über einen neuen Kauf für den Eigentümer:
add_filter( 'stwreg_email_owner_new_purchase_subject', function ( $subject, $context, $payload ) {
return 'Good news: ' . $subject;
}, 10, 3 );
Für die E-Mails an den Eigentümer enthält $context recipient, owner_display_name, registry (Zeilenobjekt), purchase (Zeilenobjekt), item (Zeilenobjekt), subject, owner_dashboard und public_url.
REST-Berechtigungsfilter
Jeder Endpunkt führt eine Berechtigungsprüfung durch, und jede Prüfung hat einen Filter. Verwenden Sie diese Filter, um den Zugriff strenger zu gestalten. Sie können den Zugriff nicht erweitern. Wenn das Plugin eine Anfrage ablehnt, kann der Filter sie nicht zulassen. Wenn das Plugin eine Anfrage zulässt, kann der Filter immer noch ein WP_Error zurückgeben, um sie abzulehnen.
| Filter | Verwendet von | Argumente |
|---|---|---|
stwreg_api_public_permissions_check | Öffentliche Endpunkte (/registry/search, /registry/{url_code}, /registry/{url_code}/items, POST /contributions) | $decision (bool oder WP_Error), $request (WP_REST_Request) |
stwreg_api_logged_in_permissions_check | Endpunkte für jeden angemeldeten Benutzer | $decision, $request |
stwreg_api_owner_permissions_check | Routen des Wunschlistenbesitzers | $decision, $request |
stwreg_api_admin_permissions_check | Listen-Admin-Routen | $decision, $request |
Dieses Beispiel macht die Registry-Suche nur für angemeldete Benutzer verfügbar:
add_filter( 'stwreg_api_public_permissions_check', function ( $decision, $request ) {
$search_route = '/saveto-wishlist-registry/v1/registry/search';
if ( $search_route === $request->get_route() && ! is_user_logged_in() ) {
return new WP_Error(
'rest_forbidden',
'Log in to search registries.',
array( 'status' => 401 )
);
}
return $decision;
}, 10, 2 );
Die Endpunkte /purchases/{id}/note, /purchases/{id}/thank-you und /purchases/bulk-thank-you verwenden ihre eigenen Eigentümerprüfungen und führen diese Filter nicht aus. GET /purchases und GET /contributions lassen den Registry-Besitzer ohne Filter durch. Für alle anderen führen sie die Admin-Prüfung durch, sodass stwreg_api_admin_permissions_check für sie gilt.
Andere Aktionen
| Aktion | Argumente | Wann es ausgeführt wird |
|---|---|---|
stwreg_before_convert_wishlist_to_registry | $collection_id (int), $args (array) | Bevor eine Wunschliste in eine Geschenk-Registry umgewandelt wird. Siehe So konvertieren Sie eine Wunschliste in eine Geschenk-Registry. |
stwreg_after_convert_wishlist_to_registry | $registry_id (int), $collection_id (int), $args (array) | Nachdem eine Wunschliste konvertiert wurde. |
stwreg_after_add_registry_item | $registry_id (int), $row (object) | Nachdem ein Artikel zu einer Registry hinzugefügt wurde. |
stwreg_after_save_contribution | $contribution_id (int), $registry_id (int) | Nachdem eine Beitragszeile gespeichert wurde. |
Häufig gestellte Fragen
Kann ich das URL-Präfix der Registry-Seite ändern?
Ja. Der Filter stwreg_url_prefix nimmt das Präfix als String entgegen, und stwreg_registry_public_url nimmt die vollständige URL (String) und den öffentlichen Code (String) entgegen.
Wo finde ich Datenschutzexport und -löschung für Registry-Daten?
Siehe So exportieren und löschen Sie Registry-Daten für Datenschutzanfragen.
Was kommt als Nächstes?
- Wie man Geschenkkäufe einsehen und Dankesnotizen senden kann
- Wie man eine Suchseite für Geschenkkataloge einrichtet
- So richten Sie E-Mail-Benachrichtigungen für Geschenkkataloge ein
Brauchen Sie Hilfe?
Wenn Sie eine Frage haben oder auf Probleme stoßen, sind wir für Sie da.
- Premium-Benutzer: Support-Ticket eröffnen
- Kostenlose Benutzer: Besuchen Sie unser Community-Forum
