Aktionen und Filter
PrimoCRM stellt WordPress-Aktionen (Ereignisse, auf die Sie reagieren können)
und Filter (Werte und Registries, die Sie modifizieren können) bereit. Alle Hooks
verwenden das Präfix primocrm_.
PrimoCRM selbst enthält keinen bezahlten Code und keine Lizenzprüfungen. Alles, was das Pro-Add-on hinzufügt, fügt es über die Hooks auf dieser Seite hinzu, sodass alles, was Pro hier tun kann, auch Ihr eigenes Plugin tun kann.
Aktions-Hooks (Ereignisse)
Abschnitt betitelt „Aktions-Hooks (Ereignisse)“Reagieren Sie darauf mit add_action.
Kontakt-Lebenszyklus
Abschnitt betitelt „Kontakt-Lebenszyklus“| Hook | Argumente | Wird ausgeführt, wenn |
|---|---|---|
primocrm_contact_created |
$contact_id |
Ein Kontakt erstellt wird |
primocrm_contact_updated |
$contact_id, $changed_keys |
Ein Kontakt aktualisiert wird ($changed_keys sind die Namen der geänderten Felder) |
primocrm_contact_deleted |
$contact_id, $email |
Ein Kontakt gelöscht wird (die Adresse wird übergeben, da die Zeile bereits entfernt wurde) |
primocrm_contact_status_changed |
$contact_id, $new_status, $old_status |
Der Status eines Kontakts sich ändert |
primocrm_contact_unsubscribed |
$contact_id |
Ein Kontakt sich abmeldet |
primocrm_contact_resubscribed |
$contact_id |
Ein Kontakt sich wieder anmeldet |
primocrm_double_optin_confirmed |
$contact_id |
Ein Kontakt einen Double-Opt-In-Link bestätigt |
primocrm_contact_tag_added |
$contact_id, $tag_id |
Ein Tag zugewiesen wird |
primocrm_contact_tag_removed |
$contact_id, $tag_id |
Ein Tag entfernt wird |
primocrm_contact_list_added |
$contact_id, $list_id |
Zu einer Liste hinzugefügt wird |
primocrm_contact_list_removed |
$contact_id, $list_id |
Aus einer Liste entfernt wird |
Interaktion und Formulare
Abschnitt betitelt „Interaktion und Formulare“| Hook | Argumente | Wird ausgeführt, wenn |
|---|---|---|
primocrm_form_submitted |
$form_id, $entry_id, $contact_id, $data |
Ein PrimoCRM-Formular verarbeitet wird |
primocrm_email_opened |
$contact_id, $campaign_id |
Das Öffnen einer E-Mail erfasst wird |
primocrm_email_link_clicked |
$contact_id, $campaign_id, $url |
Auf einen verfolgten Link geklickt wird |
Kampagnen und E-Mail-Vorlagen
Abschnitt betitelt „Kampagnen und E-Mail-Vorlagen“Dies ist die Schreibseite der Kampagnen- und Vorlagen-Bildschirme. Ein Plugin, das seine eigenen Einstellungen zu einer Kampagne hinzufügt, speichert diese hier, neben der Kampagne, die der Benutzer gerade gespeichert hat.
| Hook | Argumente | Wird ausgeführt, wenn |
|---|---|---|
primocrm_campaign_saved |
$campaign_id, $request, $is_new |
Eine Kampagne erstellt oder aktualisiert wird ($request ist der WP_REST_Request) |
primocrm_campaigns_deleted |
$campaign_ids |
Eine oder mehrere Kampagnen gelöscht werden |
primocrm_email_template_saved |
$template_id, $request, $is_new |
Eine E-Mail-Vorlage erstellt oder aktualisiert wird |
primocrm_health_check_tick |
keine | Die fünfminütige Integritätsprüfung der Warteschlange läuft, ein vorgefertigter Platz für periodische Arbeiten |
| Hook | Argumente | Wird ausgeführt, wenn |
|---|---|---|
primocrm_loaded |
$plugin |
Innerhalb der REST-Routen-Registrierung. Ein Katalog-Handshake, kein zuverlässiger Boot-Hook |
primocrm_automations_paused_for_handlers |
$automation_ids |
Automatisierungen angehalten wurden, weil ein Auslöser- oder Aktions-Handler verschwunden ist |
primocrm_automations_resumed_for_handlers |
$automation_ids |
Diese Automatisierungen fortgesetzt wurden, weil der Handler zurückgekehrt ist |
Beispiel:
add_action( 'primocrm_contact_created', function ( $contact_id ) { error_log( "New PrimoCRM contact: {$contact_id}" );} );
add_action( 'primocrm_email_link_clicked', function ( $contact_id, $campaign_id, $url ) { // Score the contact, notify a channel, etc.}, 10, 3 );Filter-Hooks (Registries)
Abschnitt betitelt „Filter-Hooks (Registries)“Diese sammeln erweiterbare Elemente. Vollständige Anleitungen finden Sie unter PrimoCRM erweitern.
| Filter | Wert | Zweck |
|---|---|---|
primocrm_automation_triggers |
array | Automatisierungsauslöser registrieren oder modifizieren |
primocrm_automation_actions |
array | Automatisierungsaktionen registrieren oder modifizieren |
primocrm_condition_options |
array (fields, operators) |
Felder und Operatoren für den Bedingungs-Builder hinzufügen |
primocrm_form_field_types |
array (Typ zu Klasse) | Benutzerdefinierte Formularfeldtypen registrieren |
primocrm_migration_sources |
array (Schlüssel zu Quelle) | Migrationsquellen-Anbieter registrieren |
primocrm_smart_code_catalog |
array | Einträge zum Smart-Code-Picker hinzufügen |
primocrm_smart_codes |
$content, $contact, $context |
Eigene Smart-Codes beim Rendern einer E-Mail ersetzen |
primocrm_mail_providers |
array (ID zu Deskriptor) | Einen API-E-Mail-Anbieter mit den erforderlichen Einstellungen registrieren |
primocrm_smtp_send |
$result, $provider, $atts, $settings |
Den Versand für Ihren Anbieter durchführen. Geben Sie null zurück und PrimoCRM greift auf wp_mail zurück |
primocrm_email_editors |
array (Typ zu Deskriptor) | Einen E-Mail-Editor als Vorlagentyp registrieren |
primocrm_double_optin_sources |
array von Schlüsseln | Welche Kontaktquellen ein Double-Opt-In erfordern |
Ein Katalegeintrag ohne registrierten Handler wird als nicht verfügbar anstatt
als versteckt aufgeführt. Geben Sie ihm daher eine requires_plugin-Zeichenkette,
die angibt, was er benötigt. PrimoCRM zeigt dies als „Erfordert X“ an und weigert
sich, ihn auswählen zu lassen.
Filter-Hooks (Nutzdaten)
Abschnitt betitelt „Filter-Hooks (Nutzdaten)“Die REST-Nutzdaten für eine Kampagne oder Vorlage auf dem Weg zur Admin-App. Verwenden Sie diese, um Ihre eigenen Felder an eine Benutzeroberfläche zu senden, die Sie über die JavaScript-Nahtstellen unten eingefügt haben.
| Filter | Wert | Zweck |
|---|---|---|
primocrm_campaign_response |
$campaign, $campaign_id |
Ihre Felder an eine einzelne Kampagnenantwort anhängen |
primocrm_email_template_response |
$template, $template_id |
Ihre Felder an eine einzelne Vorlagenantwort anhängen |
primocrm_pre_send_campaign |
$taken_over, $campaign, $settings, $request |
Gibt ein WP_REST_Response zurück, um den Versand vollständig zu übernehmen. Alles andere führt dazu, dass PrimoCRM normal sendet |
primocrm_campaign_sent_elsewhere |
$handled, $campaign |
Gibt true zurück, wenn Ihr Code diese Kampagne bereits in die Warteschlange eingereiht hat, sodass der integrierte Warteschlangen-Builder sie überspringt |
Branding und Werbung
Abschnitt betitelt „Branding und Werbung“| Filter | Wert | Zweck |
|---|---|---|
primocrm_brand_name |
string | Der im Administratorbereich angezeigte Markenname |
primocrm_brand_menu_icon |
string | Das Admin-Menüsymbol |
primocrm_brand |
array | Der für die App lokalisierte Marken-Deskriptor |
primocrm_show_upsell |
bool | Geben Sie false zurück, um die Schaltfläche „Upgrade“ aus dem Admin-Header zu entfernen. Das Pro-Add-on tut dies für Sie |
primocrm_upgrade_url |
string | Wohin diese Schaltfläche verweist |
primocrm_show_reports_menu |
bool | Gibt true zurück, wenn Sie über primocrm.reports.tabs einen Tab hinzufügen, sodass die WordPress-Seitenleiste Berichte anzeigt. Standardmäßig deaktiviert, da der Bildschirm ohne Tab nichts anzuzeigen hat. Das Pro-Add-on tut dies für Sie |
Filter-Hooks (Verhalten und Feinabstimmung)
Abschnitt betitelt „Filter-Hooks (Verhalten und Feinabstimmung)“| Filter | Wert | Zweck |
|---|---|---|
primocrm_send_batch_size |
int | E-Mails pro Kampagnen-Worker-Batch |
primocrm_send_rate_per_hour |
int | Drosselung des Kampagnenversands |
primocrm_automation_batch_limit |
int | Zeilen pro Automatisierungs-Worker-Batch |
primocrm_email_body_retention_days |
int | Wie lange gerenderte E-Mail-Inhalte aufbewahrt werden |
primocrm_async_automation_delivery |
bool | Asynchrone Zustellung von Automatisierungs-E-Mails umschalten |
primocrm_auto_create_contact_status |
$status, $source |
Status für Kontakte, die automatisch durch Trigger oder Benutzersynchronisierung erstellt wurden |
primocrm_require_postal_address |
bool | Ob eine Postanschrift erforderlich ist, bevor eine Kampagne gesendet werden kann |
primocrm_trust_proxy_headers |
bool | Ob Proxy-Header für die Absender-IP bei Formularen vertraut werden soll |
primocrm_migration_step_budget |
float (Sekunden, Standard 10) | Wie lange eine Import- oder Migrationsanfrage arbeiten darf, bevor sie zurückgibt und die nächste Anfrage fortfährt |
JavaScript-Hooks (wp.hooks)
Abschnitt betitelt „JavaScript-Hooks (wp.hooks)“Die Admin-App ist eine React-Single-Page-Anwendung, und diese wp.hooks-Filter
ermöglichen es einem anderen Plugin, seine eigene Benutzeroberfläche darin
einzubinden. Es gibt keine eigenständigen Add-on-Seiten.
Jeder Filter gibt Deskriptoren mit einem mount-Callback zurück, keine React-Elemente:
Die App und Ihr Plugin verwenden möglicherweise unterschiedliche React-Versionen, sodass
PrimoCRM Ihnen einen DOM-Knoten bereitstellt und Sie selbst hineinrendern.
| Filter | Zweck |
|---|---|
primocrm.settings.tabs |
Einen Tab zum Einstellungsbildschirm hinzufügen |
primocrm.reports.tabs |
Einen Tab zu Berichten hinzufügen. Der Berichts-Bildschirm und sein App-Menüelement existieren nur, solange etwas einen registriert hat; geben Sie für den WordPress-Seitenleisteneintrag zusätzlich true von primocrm_show_reports_menu zurück |
primocrm.campaigns.rowActions |
Eine Aktion zu einer Kampagnenzeile hinzufügen |
primocrm.campaignCreate.sections |
Einen Abschnitt zu einem nummerierten Schritt des Kampagnen-Assistenten hinzufügen |
primocrm.campaignDetails.panels |
Ein Panel zum Kampagnendetail-Bildschirm hinzufügen |
primocrm.emailEditor.init |
Ihren Editor in den Container einbauen, den PrimoCRM für Ihren Vorlagentyp rendert |
primocrm.emailEditor.destroy |
Diesen Editor wieder abbauen |