# Akciókampók és hasznos kódrészletek

> A kapcsolattartók életciklusához kötődő akciókampók, valamint kész kódrészletek a követés kikapcsolására és egyedi állapotok, típusok felvételére.

A FluentCRM a kapcsolattartók életciklusának több pontján akciókampót (action hook) indít. Ezekre a saját kódoddal feliratkozhatsz.

## Kapcsolattartókhoz tartozó akciókampók

```php
<?php

// Új kapcsolattartó jött létre
do_action('fluentcrm_contact_created', Model $contact);

// Kapcsolattartó frissült
do_action('fluentcrm_contact_updated', Model $contact);

// Egyéni mezők frissültek
do_action('fluentcrm_contact_custom_data_updated', array $newValues, Model $contact);

// Kapcsolattartó listára került
do_action('fluentcrm_contact_added_to_lists', array $listIds, Model $contact);

// Kapcsolattartó lekerült listáról
do_action('fluentcrm_contact_removed_from_lists', array $listIds, Model $contact);

// Kapcsolattartó címkét kapott
do_action('fluentcrm_contact_added_to_tags', array $tagIds, Model $contact);

// Kapcsolattartóról címke lekerült
do_action('fluentcrm_contact_removed_from_tags', array $tagIds, Model $contact);

// Az állapot „Feliratkozott” lett
do_action('fluentcrm_subscriber_status_to_subscribed', Model $contact, string $oldStatus);

// Az állapot „Leiratkozott” lett
do_action('fluentcrm_subscriber_status_to_unsubscribed', Model $contact, string $oldStatus);

// Tömeges importálás
do_action('fluentcrm_contacts_imported_bulk', Collections $insertedContacts);

// Tömeges frissítés
do_action('fluentcrm_contacts_updated_bulk', Collections $updatedModels);

// Kapcsolattartók törlése előtt
do_action('fluentcrm_before_subscribers_deleted', array $subscriberIds);

// Kapcsolattartók törlése után
do_action('fluentcrm_after_subscribers_deleted', array $subscriberIds);
```

### Példa a használatra

```php
<?php

// Teendő új kapcsolattartó létrehozása után
add_action('fluentcrm_contact_created', function ($contact) {
    // a saját kódod
}, 10, 1);

// Teendő kapcsolattartó frissítése után
add_action('fluentcrm_contact_updated', function ($contact) {
    // a saját kódod
}, 10, 1);

// Teendő, ha a kapcsolattartó állapota „Feliratkozott” lett
add_action('fluentcrm_subscriber_status_to_subscribed', function ($contact, $oldStatus) {
    // a saját kódod
}, 10, 2);
```

## Hasznos kódrészletek

A kódokat a sablonod `functions.php` fájljába vagy egy kódrészlet-kezelő bővítménybe tedd.

### E-mail-megnyitások követésének kikapcsolása

```php
add_filter('fluentcrm_disable_email_open_tracking', '__return_true');
```

### Linkkattintások követésének és a rövid linkeknek a kikapcsolása

```php
add_filter('fluent_crm/track_click', '__return_false');
```

### Egyedi kapcsolattartó-állapot felvétele

A „Withdrawn” helyére azt az állapotot írd, amelyet meg szeretnél jeleníteni:

```php
add_filter('fluent_crm/contact_statuses', function ($statuses) {
    $statuses[] = 'Withdrawn';

    return $statuses;
}, 10, 1);
```

### Egyedi kapcsolattartó-típus felvétele

A „Student” helyére az új típus neve, a „This is a Student” helyére a leírása kerül:

```php
add_filter('fluent_crm/contact_types', function ($types) {
    $types['Student'] = __('This is a Student', 'fluent-crm');

    return $types;
}, 10, 1);
```
