Erstellen Sie ein einfaches CRM in WordPress Erstellen eines benutzerdefinierten Beitragstyps

Wenn Sie ein freiberuflicher Designer, Entwickler oder Unternehmer sind, wissen Sie, wie schwierig es ist, potenzielle Kundendaten zentral zu speichern. Wenn Sie das erreicht haben, ist es manchmal schwierig, diese Daten auf dem neuesten Stand zu halten - Anrufe, die Sie an den Interessenten gerichtet haben, E-Mails, die Sie gesendet haben, usw. protokollieren.

Im Besonderen werden wir das Registrieren eines benutzerdefinierten Post-Typs untersuchen, benutzerdefinierte Post-Felder erstellen, benutzerdefinierte Post-Felder in der WordPress-Administrationsoberfläche anzeigen, unsere benutzerdefinierten Felddaten durchsuchen und die WordPress-Administrationsoberfläche in eine schlanke CRM-Oberfläche verwandeln.

Warum kein CRM-Plugin (oder ein CRM-System?) Verwenden

Es gibt zwar kostenlose und erstklassige WordPress CRM-Plugins (wie WP-CRM) und CRM-Services von Drittanbietern (wie Salesforce oder Highrise), sie sind jedoch entweder zu komplex, um sie schnell nutzen zu können, oder sie verfügen über Funktionen, die für unser Unternehmen möglicherweise nicht ideal sind Arbeitsablauf.

Durch das Rollen unserer eigenen Lösung können wir eine leichte, einfache Lösung aufbauen, die in der Zukunft je nach Ihren spezifischen Anforderungen erweitert werden kann. Außerdem erfahren Sie, wie Sie einige WordPress-API-Funktionen verwenden.

CRM-Plugin erstellen

Für diese Serie erstellen wir ein WordPress-Plugin und erweitern dessen Funktionalität durch jeden Teil dieser Serie.

Der Quellcode wird am Ende jedes Artikels vollständig zur Verfügung gestellt. Bis dahin erstellen wir das Plugin Schritt für Schritt.

Erstellen Sie zunächst in Ihrer lokalen Installation von WordPress ein Verzeichnis in WP-Inhalt / Plugins namens Tuts-Crm. Ab hier fügen wir unseren Quellcode hinzu.

Der Plugin-Header

Erstellen Sie eine Datei mit dem Namen tuts-crm.php, folgenden Code einfügen:

Wie Sie sehen, ist dies nur ein PHP-Kommentar. WordPress scannt dies jedoch, um Folgendes herauszufinden:

  • der Name des Plugins,
  • der Autor des Plugins,
  • die Beschreibung des Plugins

Aktivieren Sie im WordPress-Dashboard Ihr neues Plugin, indem Sie zu "Plugins"> "Installierte Plugins" gehen und dann neben dem CRM-Plugin auf "Aktivieren" klicken:

Einrichten unserer Plugin-Klasse

Bei jeder WordPress-Website mit einer beliebigen Anzahl und Kombination von Plugins ist es möglich, dass ein Funktionsname verwendet wird (z. B. crm ()) steht in Konflikt mit einem anderen Plugin, das dasselbe verwendet.

Die meisten Plugins umgehen dieses Problem mit einem function_exists () prüfen:

if (! function_exists ('crm')) function crm () // Hier etwas tun

Während dies verhindert, dass Ihre WordPress-Site zum Stillstand kommt, kann Ihr Plugin bei Konflikten nicht funktionieren.

Ein alternativer objektorientierter Ansatz besteht darin, Ihre Funktionen in eine objektorientierte Klasse zu packen. Lassen Sie uns dies tun, indem Sie unterhalb des Plugin-Kopfkommentars Folgendes hinzufügen:

Klasse WPTutsCRM / ** * Konstruktor. Wird beim Initialisieren des Plugins aufgerufen * / function __construct ()  $ wpTutsCRM = new WPTutsCRM;

Dadurch wird unsere PHP-Klasse zusammen mit einem Konstrukt erstellt, das aufgerufen wird, wenn wir die Zeile erreichen $ wpTutsCRM = neue WPTutsCRM;

Registrieren Sie unseren benutzerdefinierten Beitragstyp

Als Nächstes müssen wir einen benutzerdefinierten Beitragstyp registrieren, der jeden Kontakt in unserem CRM-System speichert.

Aus dem Kodex:

WordPress kann viele verschiedene Arten von Inhalten halten und anzeigen. Ein einzelnes Element eines solchen Inhalts wird im Allgemeinen als Beitrag bezeichnet, obwohl der Beitrag auch ein bestimmter Beitragstyp ist. Intern werden alle Post-Typen an derselben Stelle in der Datenbanktabelle wp_posts gespeichert, jedoch durch eine Spalte namens post_type unterschieden.

WordPress 3.0 bietet Ihnen die Möglichkeit, Ihre eigenen benutzerdefinierten Beitragstypen hinzuzufügen und sie auf verschiedene Arten zu verwenden.

Seiten und Beiträge sind zwei übliche WordPress-Beitragstypen. Wir können die Funktionalität von WordPress erweitern, indem wir unseren eigenen benutzerdefinierten Beitragstyp hinzufügen. Lassen Sie uns dies tun, indem Sie ein registrieren Aktion zu unserem Plugin-Konstruktor:

function __construct () add_action ('init', array ($ this, 'register_custom_post_type'));  

Dies weist WordPress an, das auszuführen register_custom_post_type Funktion innerhalb unserer Klasse, wenn unser Plugin initialisiert wird.

Als nächstes fügen Sie das hinzu register_custom_post_type Funktion:

/ ** * Registriert einen benutzerdefinierten Post-Typ mit dem Namen contact * / function register_custom_post_type () register_post_type ('contact', array ('labels' => array ('name' => _x ('contact', 'post type general name' , 'tuts-crm'), 'singular_name' => _x ('Kontakt', 'Beitragstyp, Singularname', 'tuts-crm'), 'menu_name' => _x ('Kontakte', 'Admin-Menü', ' tuts-crm '),' name_admin_bar '=> _x (' Kontakt ',' Neues in der Administrationsleiste hinzufügen ',' tuts-crm '),' add_new '=> _x (' Neu hinzufügen ',' Kontakt ',' tuts -crm '),' add_new_item '=> __ (' Neuen Kontakt hinzufügen ',' tuts-crm '),' new_item '=> __ (' Neuer Kontakt ',' tuts-crm '),' edit_item '=> __ ('Kontakt bearbeiten', 'tuts-crm'), 'view_item' => __ ('Kontakt anzeigen', 'tuts-crm'), 'all_items' => __ ('Alle Kontakte', 'tuts-crm') , 'search_items' => __ ('Kontakte suchen', 'tuts-crm'), 'parent_item_colon' => __ ('Übergeordnete Kontakte:', 'tuts-crm'), 'not_found' => __ ('Keine Kontakte found. ',' tuts-crm '),' not_found_in_trash '=> __ (' Keine Kontakte im Papierkorb gefunden. ',' tuts-crm '),), // Frontend' has_archive '=> false, 'public' => false, 'publicly_queryable' => false, // Admin'acity_type '=>' post ',' menu_icon '=>' dashicons-businessman ',' menu_position '=> 10,' query_var '= > true, 'show_in_menu' => true, 'show_ui' => true, 'unterstützt' => array ('title', 'author', 'comments'))));  

Dies registriert einen aufgerufenen benutzerdefinierten Beitragstyp Kontakt. register_post_type akzeptiert das folgende Array von Argumenten:

Schlüssel Beschreibung
Etiketten Eine Reihe von Labels, die diesen Beitragstyp beschreiben. Diese werden in der WordPress-Administration verwendet.
has_archive Aktiviert Archive auf der Frontend-Website.
Öffentlichkeit Ob der Beitragstyp in der WordPress-Administrations- und Frontend-Website verfügbar sein soll.
public_queryable Ob dieser benutzerdefinierte Beitragstyp von der Frontend-Website abgefragt werden kann.
Capability_type Wird verwendet, um die Funktionen zu definieren, über die der Benutzer verfügen muss, um Beiträge für diesen Beitragstyp hinzuzufügen, zu bearbeiten und zu löschen. Dies kann eine vorhandene Funktion sein (z. B. Post)
menu_icon Entweder die URL zum Menüsymbol oder a Dashicons- Klasse (3,8 oder höher). Wird in der WordPress-Administration verwendet.
menu_position Eine Zahl, die angibt, wo im WordPress-Verwaltungsmenü dieses Element angezeigt werden soll. Eine niedrigere Zahl bedeutet, dass es früher erscheint.
query_var Legt die query_var für diesen Beitragstyp fest. Der Standardwert ist der Name des benutzerdefinierten Beitragstyps.
show_in_menu Ob dieser benutzerdefinierte Beitragstyp im WordPress-Verwaltungsmenü angezeigt werden soll.
show_ui Ob in der WordPress-Administration eine Benutzeroberfläche erstellt werden soll, um das Hinzufügen, Bearbeiten und Löschen von Beiträgen für diesen benutzerdefinierten Beitragstyp zu ermöglichen.
unterstützt Ein Array, das die für diesen benutzerdefinierten Beitragstyp verfügbaren Felder beschreibt. Beispiele beinhalten Titel, Editor, Auszug und Seitenattribute

Speichern Sie Ihr Plugin und zeigen Sie dann Ihr WordPress-Dashboard an. Sie sollten einen neuen Menüeintrag mit dem Namen sehen Kontakte:

Klicken Sie auf diesen Eintrag, und Sie sollten eine vertraute Benutzeroberfläche sehen, die Sie zum Verwalten von Posts und Seiten verwenden:

Lassen Sie uns fortfahren und unseren ersten Kontakt hinzufügen. Klicken Sie auf "Neu hinzufügen" und geben Sie "Joe Bloggs" in das Feld "Titel" ein, bevor Sie auf "Veröffentlichen" klicken.

Zum Schluss müssen wir den gespeicherten benutzerdefinierten Beitragstyp überprüfen. Klicken Sie im WordPress-Verwaltungsmenü wieder auf "Kontakte", und Sie sollten unseren neuen Kontakt sehen:

Als nächstes…

Im nächsten Artikel werden wir unserem Kontaktpostarttyp benutzerdefinierte Felder hinzufügen, sodass wir mehr Informationen über unsere potenziellen Kunden und Kunden speichern können.