Se sei un designer freelance, uno sviluppatore o un imprenditore, sai quanto sia difficile mantenere un archivio centrale dei potenziali dati dei clienti. Una volta completato, a volte è difficile mantenere aggiornati i dati: registrazione delle chiamate che hai fatto al potenziale cliente, email che hai inviato e così via.
Nello specifico, esploreremo la registrazione di un tipo di post personalizzato, la creazione di campi personalizzati, la visualizzazione di campi personalizzati nell'interfaccia di amministrazione di WordPress, la ricerca dei dati del campo personalizzato e l'interfaccia di amministrazione di WordPress in un'interfaccia CRM leggera.
Mentre i plug-in WordPress CRM gratuiti e premium esistono (come WP-CRM) e servizi CRM di terze parti (come Salesforce o Highrise), sono troppo complessi per iniziare a utilizzare rapidamente o hanno caratteristiche che potrebbero non essere l'ideale per il nostro particolare flusso di lavoro.
Rotolando la nostra soluzione, possiamo costruire una soluzione leggera e semplice, che potrebbe essere estesa in futuro in base alle vostre esigenze specifiche. Inoltre, impareremo come utilizzare alcune delle funzioni API di WordPress.
Per questa serie, creeremo un plugin per WordPress e ne estenderemo la funzionalità attraverso ogni parte di questa serie.
Il codice sorgente verrà fornito per intero alla fine di ogni articolo, ma fino ad allora, creiamo il plugin passo dopo passo.
Innanzitutto, nell'installazione locale di WordPress, crea una directory in wp-content / plugins
chiamato tuts-crm
. Da qui, inizieremo ad aggiungere il nostro codice sorgente.
Crea un file chiamato tuts-crm.php
, inserendo il seguente codice:
Come vedrai, questo è solo un commento in PHP. Tuttavia, WordPress esegue la scansione di questo per capire:
Nella dashboard di WordPress, attiva il tuo nuovo plug-in selezionando "Plugin"> "Plugin installati", quindi facendo clic su "Attiva" accanto al plug-in CRM:
Con qualsiasi sito web WordPress che abbia un numero qualsiasi e una combinazione di plug-in, è possibile che un nome di funzione che scegliamo di usare (come crm ()
) è in conflitto con un altro plugin che utilizza lo stesso.
La maggior parte dei plugin risolve questo problema usando a function_exists ()
dai un'occhiata:
if (! function_exists ('crm')) function crm () // Fai qualcosa qui
Anche se questo impedisce al tuo sito WordPress di fermarsi, non funziona correttamente se c'è un conflitto.
Un approccio alternativo orientato agli oggetti è quello di avvolgere le tue funzioni in una classe orientata agli oggetti. Andiamo avanti e farlo aggiungendo quanto segue sotto il commento dell'intestazione del plugin:
class WPTutsCRM / ** * Costruttore. Chiamato quando il plugin è inizializzato * / function __construct () $ wpTutsCRM = new WPTutsCRM;
Questo crea la nostra classe PHP, insieme a un costrutto, che viene chiamato quando raggiungiamo la linea $ wpTutsCRM = nuovo WPTutsCRM;
Successivamente, dobbiamo registrare un tipo di messaggio personalizzato, che memorizzerà ogni contatto nel nostro sistema CRM.
Dal codice:
WordPress può contenere e visualizzare molti tipi diversi di contenuti. Un singolo elemento di tale contenuto viene generalmente definito un post, sebbene il post sia anche un tipo di post specifico. Internamente, tutti i tipi di post sono memorizzati nello stesso posto, nella tabella del database wp_posts, ma sono differenziati da una colonna chiamata post_type.
WordPress 3.0 ti dà la possibilità di aggiungere i tuoi tipi di post personalizzati e di usarli in modi diversi.
Le pagine e i post sono due tipi di post di WordPress comuni. Possiamo estendere la funzionalità di WordPress aggiungendo il nostro tipo di messaggio personalizzato. Facciamo questo registrando un azione
al nostro costruttore di plugin:
function __construct () add_action ('init', array ($ this, 'register_custom_post_type'));
Questo dice a WordPress di eseguire il register_custom_post_type
funzione all'interno della nostra classe quando il nostro plugin è inizializzato.
Quindi, aggiungi il register_custom_post_type
funzione:
/ ** * Registra un tipo di messaggio personalizzato chiamato contact * / function register_custom_post_type () register_post_type ('contact', array ('labels' => array ('name' => _x ('Contacts', 'post type general name' , 'tuts-crm'), 'singular_name' => _x ('Contact', 'post type singular name', 'tuts-crm'), 'menu_name' => _x ('Contatti', 'menu di amministrazione', ' tuts-crm '),' name_admin_bar '=> _x (' Contatto ',' aggiungi nuovo su barra di amministrazione ',' tuts-crm '),' add_new '=> _x (' Aggiungi nuovo ',' contatto ',' tuts -crm '),' add_new_item '=> __ (' Aggiungi nuovo contatto ',' tuts-crm '),' new_item '=> __ (' Nuovo contatto ',' tuts-crm '),' edit_item '=> __ ('Modifica contatto', 'tuts-crm'), 'view_item' => __ ('Visualizza contatto', 'tuts-crm'), 'all_items' => __ ('Tutti i contatti', 'tuts-crm') , 'search_items' => __ ('Cerca contatti', 'tuts-crm'), 'parent_item_colon' => __ ('Contatti principali:', 'tuts-crm'), 'not_found' => __ ('Nessun contatto found. ',' tuts-crm '),' not_found_in_trash '=> __ (' Nessun contatto trovato nel Cestino. ',' tuts-crm '),), // Frontend' has_archive '=> false, 'public' => false, 'public_queryable' => false, // Admin 'capabilities_type' => 'post', 'menu_icon' => 'dashicons-businessman', 'menu_position' => 10, 'query_var' = > true, 'show_in_menu' => true, 'show_ui' => true, 'supports' => array ('title', 'author', 'comments',),));
Questo registra un tipo di messaggio personalizzato chiamato contatto. register_post_type
accetta il seguente array di argomenti:
chiave | Descrizione |
---|---|
etichette | Una serie di etichette che descrivono questo tipo di messaggio. Questi sono usati all'interno dell'amministrazione di WordPress. |
has_archive | Abilita gli archivi sul sito Web di frontend. |
pubblico | Se il Post Type dovrebbe essere disponibile nel sito Web di amministrazione e frontend di WordPress. |
publicly_queryable | Se questo tipo di messaggio personalizzato può essere interrogato dal sito Web di frontend. |
capability_type | Utilizzato per definire le funzionalità che l'utente deve avere per aggiungere, modificare e cancellare i post per questo tipo di messaggio. Questa potrebbe essere una capacità esistente (come inviare ) |
menu_icon | O l'URL all'immagine dell'icona del menu o a dashicons- classe (3.8 o superiore). Utilizzato nell'amministrazione di WordPress. |
menu_position | Un numero che indica dove nel menu Amministrazione WordPress per visualizzare questo elemento. Un numero più basso significa che appare prima. |
query_var | Imposta query_var per questo tipo di post. Predefinito il nome del tipo di messaggio personalizzato. |
show_in_menu | Indica se mostrare questo tipo di messaggio personalizzato nel menu Amministrazione di WordPress. |
show_ui | Se generare un'interfaccia utente nell'amministrazione di WordPress per consentire l'aggiunta, la modifica e l'eliminazione di post per questo tipo di messaggio personalizzato. |
supporti | Una matrice che specifica i campi disponibili per questo tipo di messaggio personalizzato. Esempi inclusi titolo , editore , estratto e page-attributi |
Salva il tuo plug-in, quindi visualizza il dashboard di WordPress. Dovresti vedere una nuova voce di menu chiamata Contatti:
Fai clic su questa voce e dovresti vedere un'interfaccia familiare a quella che usi per gestire Post e Pagine:
Andiamo avanti e aggiungere il nostro primo contatto. Fai clic su "Aggiungi nuovo" e quindi inserisci "Joe Bloggs" nel campo "Titolo", prima di fare clic su "Pubblica".
Infine, dobbiamo controllare il tipo di messaggio personalizzato salvato. Fai di nuovo clic su "Contatti" nel menu di amministrazione di WordPress e dovresti vedere il nostro nuovo contatto:
Nel prossimo articolo, aggiungeremo campi personalizzati al nostro tipo di contatto personalizzato, permettendoci di memorizzare più informazioni sui nostri potenziali clienti e clienti.