Der folgende Beitrag ist ein Gastbeitrag von Eduardo Bouças. Wir alle kennen WordPress als CMS, aber hier denkt Eduardo darüber nach, es nur als API für Inhalte zu verwenden. Gar keine Frontend-Oberfläche, nur URL-Endpunkte, die JSON für die Verwendung anderswo zurückgeben. Dies beschreibt keine umfassende Lösung dafür, sondern ist Stoff zum Nachdenken mit einigen Beispielcodes, um Ihnen den Einstieg in eine benutzerdefinierte Lösung zu erleichtern. Wenn Sie sofort mit der Entwicklung auf einem solchen System beginnen möchten, ist WP REST API das robusteste Projekt mit der größten Dynamik.
Vor kurzem wurde ich gebeten, eine CMS-Lösung für eine Digitalagentur auszuwählen und zu implementieren, um mehrere Websites in einer einzigen Installation zu verwalten. Aus einer Vielzahl von Gründen war der Hauptkandidat WordPress. Es ist kostenlos und Open Source, hat eine riesige Benutzergemeinschaft, ist einfach zu bedienen und verfügt über eine Multisite-Funktion. Es ist zweifellos ein kommerziell erprobtes und ausgereiftes Produkt. Aber ich hatte meine Bedenken.
WordPress auf herkömmliche Weise zu verwenden bedeutet, eine Installation vorzunehmen, ein Theme zu erstellen (oder ein bestehendes zu modifizieren) und zu akzeptieren, dass jede weitere Anpassung ihren Platz im vom CMS geschaffenen Ökosystem finden muss: die Programmiersprachen und Technologien (PHP und MySQL) sowie die clevere – aber ziemlich komplexe – Welt der Plugins, Themes, Aktionen, Filter und was weiß ich noch.
Ich habe mir immer Inhalte als Zentrum von allem auf einer Website vorgestellt. Die Natur und das kreative Konzept jedes einzelnen Projekts sollten diktieren, welches Medium und welche Technologien die Inhalte am besten liefern können, nicht das CMS.
Ich möchte meine Technologieauswahl für ein Projekt nicht auf PHP beschränken, nur weil WordPress darauf basiert, und ich möchte, dass Entwickler die Freiheit haben, jeden beliebigen Technologiestack zu wählen, den sie für die Erstellung unabhängiger und in sich geschlossener Websites als geeignet erachten, nicht nur WordPress-Plugins und -Themes.
Einen Mittelsmann schaffen
Eine API-first-Lösung mit einer Zwischenschicht, die zwischen der Website und dem CMS sitzt, kann WordPress von jeglicher Frontend-Geschäftstätigkeit befreien und ihm den alleinigen Zweck der Verwaltung und Bereitstellung von Inhalten überlassen.
Diese "Mittelsmann"-Schicht kann eine universelle Sprache (JSON ist meine Präferenz) sprechen, die verschiedene Endplattformen verstehen und auf eine Weise verarbeiten können, die zum Projekt passt.
Ich denke so etwas wie dies

WordPress anpassen
In der normalen WordPress-Welt würden die Leute über einen menschenfreundlichen Domainnamen auf die Website zugreifen, die Inhalte würden aus der Datenbank abgerufen und ein Theme würde sie dann formatieren und auf einer HTML-Seite anzeigen. Diese Seite hätte wahrscheinlich auch eine visuelle Benutzeroberfläche, damit Benutzer Beiträge und Seiten durchsuchen und Inhalte nach Kategorien, Tags oder anderen Taxonomien filtern können.
Unser API-first WordPress wird nichts davon haben. Die einzige Eingabe, die wir von Benutzern akzeptieren, kommt über die URL der Anfragen, die sie senden. Diese müssen wir parsen, um die Art der Daten, die wir liefern müssen, das Format und die Filter, durch die sie geleitet werden, zu extrahieren.
Ein Plugin erstellen
Es gibt gute und schlechte Wege, Funktionalitäten in WordPress hinzuzufügen und zu ändern. Kurz gesagt, das Herumfummeln am Kerncode ist keine gute Idee, Sie sollten stattdessen ein Plugin erstellen.
Aber wie wird unser Plugin genau funktionieren? Wie kann es die Standardereigniskette ändern, die vom CMS befolgt wird, um eine Anfrage zu lesen, Dinge aus der Datenbank zu holen und etwas zurückzusenden? Das kann mit einem Hook – genauer gesagt mit einer Aktion – geschehen, die es uns ermöglicht, einzugreifen und die Anfrage abzufangen, um die volle Kontrolle darüber zu übernehmen, was von diesem Zeitpunkt an geschieht.
Legen wir also die Grundlagen für unser Plugin.
class API {
public function __construct() {
add_action('template_redirect', array($this, 'hijackRequests'), -100);
}
public function hijackRequests() {
$entries = get_posts($_GET['filter']);
$this->writeJsonResponse($entries);
}
protected function writeJsonResponse($message, $status = 200) {
header('content-type: application/json; charset=utf-8', true, $status);
echo(json_encode($message) . "\n");
exit;
}
}
new API();
Es ist eine gute Praxis, das Plugin in eine Klassenstruktur zu verpacken, um zu vermeiden, dass der globale Namensraum mit losen Funktionen verschmutzt wird, was zu Namenskonflikten führen kann.
Wir beginnen dann damit, eine Funktion mit der Aktion template_redirect zu registrieren, die nach der Initialisierungsroutine ausgeführt wird und kurz bevor WordPress entscheidet, welches Template zum Rendern der Seite verwendet werden soll.
Dann rufen wir get_posts() auf, das ein Array von Filtern als Argument akzeptiert und ein Array von passenden Einträgen zurückgibt (der Funktionsname kann irreführend sein; er kann sowohl Beiträge als auch Seiten zurückgeben).
Nach dem Speichern der Datei und der Aktivierung des Plugins sollte der Aufruf von http://your-WP/index.php?filter[post_type]=post&filter[posts_per_page]=1 eine JSON-Darstellung Ihres neuesten Beitrags liefern. Super!
Multiplexing von Anfragen
Zu diesem Zeitpunkt haben wir eine sehr einfache API, die es uns ermöglicht, Einträge aus WordPress basierend auf einer Reihe von Filtern abzurufen, was für ein sehr einfaches Projekt ausreichen mag. Aber was passiert, wenn wir mehrere Datensätze benötigen, um verschiedene Elemente auf einer Seite darzustellen? Es scheint nicht vernünftig, mehrere HTTP-Anfragen zu senden.
Nehmen wir zum Beispiel die Forumseite von CSS-Tricks. Neben einigen Metadaten, die wir wahrscheinlich benötigen, gibt es mindestens drei verschiedene Inhaltssätze, die aus dem CMS abgerufen werden müssen: die Elemente in der Navigationsleiste, die neuesten Beiträge und die Tipps.

Wir können unsere eigene benutzerdefinierte Syntax für die API definieren, sodass sie die Definition von "Inhaltscontainern" bei Bedarf akzeptiert und diese als JSON-Array in der Antwort aufgeteilt zurückgibt.
Anstatt die Filter als einfaches Array in der URL zu übergeben, können wir jedem Label zuweisen, dass es zu einem bestimmten Container gehört. Zurück zum obigen Beispiel könnte die URL für eine Multiplex-Anfrage so aussehen
?navigation:filter[category]=navigation
&latestPosts:filter[type]=post
&tips:filter[slug]=tips
Was eine JSON-Struktur wie diese zurückgeben würde
{
"navigation": [
{
"ID": 1
(...)
},
{
"ID": 2
(...)
}
],
"latestPosts": [
(...)
],
"tips": [
(...)
]
}
Dies gibt den API-Konsumenten einfachen Zugriff auf die verschiedenen benötigten Inhaltsteile, ohne zusätzlichen Aufwand.
Die Funktion hijackRequests kann modifiziert werden, um diese Funktion zu implementieren.
public function hijackRequests() {
$usingBuckets = false;
$buckets = array();
$entries = array();
foreach ($_GET as $variable => $value) {
if (($separator = strpos($variable, ':')) !== false) {
$usingBuckets = true;
$bucket = substr($variable, 0, $separator);
$filter = substr($variable, $separator + 1);
} else {
$bucket = 0;
$filter = $variable;
}
$buckets[$bucket][$filter] = $value;
}
if ($usingBuckets) {
foreach ($buckets as $name => $content) {
$entries[$name] = get_posts($content['filter']);
}
} else {
$entries = get_posts($buckets[0]['filter']);
}
$this->writeJsonResponse($entries);
}
Galerien und benutzerdefinierte Felder hinzufügen
Unsere JSON-Darstellung von Beiträgen basiert auf den von get_posts() zurückgegebenen Informationen, aber dort fehlen einige Dinge, die Sie wahrscheinlich in Ihrem Feed haben möchten, wie z. B. Bildergalerien und benutzerdefinierte Felder. Wir können diese Informationen mit Hilfe der Funktionen get_post_galleries_images() und get_post_meta() selbst an den JSON-Feed anhängen.
for ($i = 0, $numEntries = count($entries); $i < $numEntries; $i++) {
$metaFields = get_post_meta($entries[$i]->ID);
$galleriesImages = get_post_galleries_images($entries[$i]->ID);
$entries[$i]->galleries = $galleriesImages;
foreach ($metaFields as $field => $value) {
// Discarding private meta fields (that begin with an underscore)
if (strpos($field, '_') === 0) {
continue;
}
if (is_array($value) && (count($value) == 1)) {
$entries[$i]->$field = $value[0];
} else {
$entries[$i]->$field = $value;
}
}
}
Abschließende Gedanken
Die in diesem Artikel beschriebene Lösung kratzt kaum an der Oberfläche dessen, was der Aufbau einer API beinhaltet. Wir haben uns noch nicht mit Dingen wie Authentifizierung, Anfragetypen für Schreibzugriff (POST, PUT, DELETE), mehreren Endpunkten für verschiedene Inhaltstypen (Benutzer, Kategorien, Einstellungen), API-Versioning oder JSONP-Unterstützung beschäftigt.
Anstatt ein produktionsfertiges Produkt bereitzustellen, soll diese Lösung die inneren Abläufe einer WordPress-API aufzeigen, was hoffentlich dazu inspiriert, benutzerdefinierte Lösungen zu erstellen oder bestehende zu erweitern, um ihre spezifischen Bedürfnisse zu erfüllen.
Ehrlich gesagt ist die Erstellung einer maßgeschneiderten API-Lösung nicht jedermanns Sache. WP REST API ist ein etabliertes und ausgereiftes Produkt und wird bald Teil des WordPress-Kerns sein, sodass die Verwendung von etwas wie diesem wahrscheinlich eine klügere Wahl ist.
Vor allem soll dieser Artikel die Idee beleuchten, ein weit verbreitetes, kommerziell erprobtes und ausgereiftes Produkt wie WordPress zu nehmen und es als API-first Content-Management-System zu verwenden. Das bedeutet, einen Hauptteil von WordPress zu entfernen und die Vorteile von Dingen wie SEO-Plugins und einfachem Theming zu verlieren, aber man gewinnt die Freiheit eines plattformunabhängigen Systems.
Was denken Sie?
Toller Artikel! Würden Ihre typischen Caching-Plugins (WP Super Cache, W3 Total Cache) auch Anfragen über diese API cachen? Ich denke schon, da Sie
get_posts()verwenden.Super interessant! Ich habe auch schon länger über eine ähnliche Idee nachgedacht, seitdem die WP REST API an Dynamik gewonnen hat. Während Ihre vorgeschlagene Lösung in der Tat clever ist, glaube ich, dass die Wartung eines WordPress-Plugins, einer WordPress-Installation (wahrscheinlich woanders als das Frontend gehostet) UND eines Frontends etwas überwältigend sein könnte. Ich habe mich irgendwie darauf festgelegt, dass die REST API tatsächlich großartig für den Aufbau von "Webanwendungen" sein wird, mit nur einem benutzerdefinierten Theme für das Frontend. Das Coole daran ist dann aber, dass Sie dieselbe API verwenden können, von der Ihre Webanwendung Daten abruft/postet, z. B. von Ihrer iPhone-App.
Auf jeden Fall coole Sachen, Mann!
Schöne Idee!
Ich benutze WordPress seit ein paar Jahren als CMS, zuerst mit einem Coldfusion 'Frontend' und in letzter Zeit mit einem PHP 'Frontend'.
Obwohl es keine API ist, wie Sie sie vorschlagen (was eine großartige Idee ist), verwendet es immer noch WordPress als Dateneingabetool und rendert die Seiten in Nicht-WordPress-Frontends.
WordPress bietet dafür bereits eine Reihe nativer PHP-Funktionen, aber wie Sie feststellen, sind Sie dann an ein PHP-'Frontend' gebunden.
Ich bin begeistert von der REST API, aber ich frage mich, was der Unterschied zwischen der WP REST API und etwas wie Laravel oder seiner neuen, schlankeren Version Lumen wäre? Verstehen Sie mich nicht falsch, ich denke, APIs sind sowohl für Entwickler als auch für Leser von Vorteil, aber wie wird WordPress die Entwicklung von Wettbewerbern abheben? In meiner Lektüre zum Thema klingt es immer so, als ob das Ziel dieses Projekts darin besteht, sich vom Content-Management-Aspekt von WP zu distanzieren und es anderen Frameworks zu überlassen, sich darum zu kümmern, eher wie ein Hot-Swap von Komponenten im Stil von Composer oder sogar Node.js. Aber was ich an WordPress großartig finde, ist, wie es die Themen- und Inhaltsentwicklung handhabt, mit einer robusten und benutzerfreundlichen Admin-Oberfläche.
Weiß jemand, ob/wie sich das WordPress-Backend / die Admin-Oberfläche mit der WP API ändern wird?
Ich habe WordPress verwendet, um die Dokumentation für mein Produkt zu schreiben. Die Dokumentation wird an verschiedenen Endpunkten bereitgestellt, daher wollte ich WP's Frontend nicht verwenden. Ich habe hier die API verwendet.
Mit dem WordPress-Backend konnte ich die Inhalte erstellen und verwalten. Ich kann Laravel nicht zum Erstellen oder Verwalten von Inhalten verwenden.
Ich habe dies kürzlich mit WordPress gemacht. Das WordPress-Frontend wird dann zur Schnittstelle für die Verwaltung der Inhalte. Ich habe die Toolset-Tools (http://wp-types.com/) für die Erstellung verschiedener relevanter benutzerdefinierter Inhaltstypen und für die Erstellung von Formularen zur Datenverwaltung missbraucht. Die API-Schnittstellen müssen dann die benutzerdefinierte Datenbankstruktur des Inhalts verstehen.
Wenn Sie sagen "Artikel kratzt kaum an der Oberfläche dessen, was der Aufbau einer API beinhaltet...", stimme ich voll und ganz zu. Was ist, wenn Sie mehrere API-Schlüssel für verschiedene Ausgabekanäle haben möchten? Oder an schwierige Mobilfunknetzumgebungen liefern möchten? Oder Medienressourcen je nach Ausgabeformat skalieren möchten? Oder Anfragen bündeln möchten, um die Latenz im Mobilfunknetz zu minimieren? Oder die Änderungen seit einem bestimmten Zeitpunkt synchronisieren möchten? Oder Inhalte auch programmatisch über eine API erstellen möchten? Oder auf Millionen von Anfragen pro Stunde skalieren möchten, ohne die Engpässe der WordPress-Datenbank zu belasten?
Bevor Sie das Rad neu erfinden, sollten Sie sich einige Systeme ansehen, die von Grund auf für die API-Bereitstellung entwickelt wurden, wie z. B. Contentful.
Ich denke, dass sowohl ich (im Artikel) als auch Chris (in der Einleitung) gute Arbeit geleistet haben, um klarzustellen, dass dies nur Stoff zum Nachdenken und keine vollständige Implementierung ist.
Ich versuche nicht, das Rad neu zu erfinden, aber ich denke, wenn man Leuten eine grobe Vorstellung davon gibt, wie eine API in einem solchen Szenario funktionieren könnte, können sie besser informiert sein, wenn es darum geht, eine bestehende Lösung auszuwählen, und hoffentlich einige Kenntnisse erhalten, um die Lösung mit eigenen Funktionen zu erweitern.
Ich persönlich finde das nützlicher als einen Artikel, der sagt: "Hey, wollen Sie eine API-first-Lösung? Kaufen Sie das hier".
@Chris, wie viele Anteile haben Sie an Contentful?
Der Autor gibt an, dass dieser Artikel nur ein paar Gedanken zu Best Practices/Ideen sind, und da er auf dieser Seite veröffentlicht wurde, hat er eindeutig seinen Platz und ist eine lohnenswerte Lektüre.
Der ganze Sinn des Schreibens einer eigenen API ist es zu lernen und zu verstehen, daher ist es einfach schlechter Stil von Ihnen, die Ideen anderer Leute schlechtzumachen, um eine bezahlte Alternative zu bewerben. Lernen Sie, die Community zu lieben, Chris, lernen Sie zu lieben.
Entschuldigen Sie, wenn ich einen falschen Ton angeschlagen habe, mein Ausbruch war in keiner Weise dazu gedacht, diesen Artikel herabzusetzen. Nur angesichts meiner jüngsten Erfahrungen mit meiner Agentur, bei der ein Kunde darauf bestand, WordPress als Mobile-Backend zu nutzen, hat die einleitende Passage mich verärgert.
Wenn Sie wirklich kluge Leute haben, die Monate damit verbringen, Drupal das Sprechen von APIs beizubringen und Schwierigkeiten damit haben, wenn Sie großartige, zukunftsorientierte Verlage haben, die ihr API-Denken teilen und Ihnen den Bauplan geben, ist das Letzte, was Sie wollen, ein weiterer dieser Kunden von der Hölle, der auf WP besteht...
Ich stimme zu, dass WordPress nicht die offensichtlichste Plattform für den Aufbau einer API-first-Lösung ist, und die Vorteile der Verwendung einer Alternative, die von Grund auf mit dieser Denkweise entwickelt wurde, sind klar. Allerdings reicht das manchmal möglicherweise nicht aus, um die Vorteile einer weit verbreiteten Plattform wie WordPress auszugleichen.
Was ist, wenn der Kunde auf Dutzende von externen Redakteuren angewiesen ist, um Inhalte einzufügen und zu verwalten? Werden Sie ihnen Schulungen zur Nutzung Ihrer Drupal-basierten API-first-Lösung anbieten? Denn die Wahrscheinlichkeit ist groß, dass die meisten von ihnen wissen, wie man WordPress benutzt, und einige von ihnen noch nie von Drupal gehört haben. Und das ist nur ein Beispiel dafür, wo eine WordPress-Lösung eine gute Option sein könnte.
Ihr Punkt war, dass die in diesem Artikel vorgestellte Implementierung reduktiv ist. Ich stimme Ihnen da zu. Aber ich denke, es ist noch reduktiver zu sagen, dass WordPress zwangsläufig eine schlechte Wahl ist.
Der gesamte Sinn dieses Artikels war es, die Idee zu beleuchten, WordPress (und die damit verbundenen Vorteile) zu nehmen und eine solch nicht offensichtliche Kombination mit einem API-first-Ansatz zu verfolgen. Ob es funktioniert oder die richtige Technologieauswahl ist, hängt von einer Vielzahl von Variablen und Umständen ab.
Vergessen Sie nicht, dass WordPress bereits eine Handvoll JSON-bezogener Funktionen enthält, die für die Bereinigung, Validierung, Ausgabe usw. zuständig sind.
Das Beispiel
writeJsonResponse()ist im Wesentlichen eine Neufassung vonwp_send_json().Stimmt! Meine Idee, eine separate Funktion zu schreiben, war, damit Sie Antworten mit unterschiedlichen Antwortcodes senden können. Ich denke, ich hätte
wp_send_json_success()undwp_send_json_error()verwenden können, aber das fühlte sich etwas flexibler an.Aber das ist ein guter Tipp. Danke!
Ich habe auch mit einigen grundlegenden Konzepten wie diesem herumgespielt.
Fügen Sie zu den Gründen, warum dieses Konzept interessant ist, die Tatsache hinzu, dass Sie auch ein Frontend entwickeln könnten, das CMS-unabhängig ist.
Durch eine gut strukturierte API-Antwort von jedem CMS, das Sie gewählt haben, ruft Ihre App/Ihr Browser einfach die API auf und erhält das benötigte JSON.
Dies ähnelt der Erstellung eines CMSMS, da dies die Aufgabe des CMS ist; Schnittstelle zu Ihren Daten und deren Anzeige in Ihrem gewählten Format.
Da jedoch WordPress (und andere CMS) für eine so breite Palette von Anwendungsfällen verwendet wird, bin ich sicher, dass es Leute gibt, die dieser zusätzlichen Ebene einen Nutzen abgewinnen könnten.
Probieren Sie das Symfony WordPress Bundle aus! Wir verwenden es bei HYPEBEAST.com.
http://github.com/kayue/KayueWordpressBundle/
Cooler Artikel.
Ich denke, der allgemeine Trend geht eindeutig in Richtung Client-Side-UIs statt alter serverseitiger UIs. Jetzt ist die Zeit für den Paradigmenwechsel, da fast alle Sterne ausgerichtet sind (mobile Geräte & JavaScript-Leistung, HTML5/CSS3 & WHATWG-Specs-Unterstützung, ES6-Features, Frontend-Tools usw.):)
Ich arbeite kürzlich an einem Projekt mit diesen Ideen im Hinterkopf: https://github.com/dsebastien/midnightLightV2
Ich habe hier ein wenig darüber gebloggt: http://www.dsebastien.net/2015/04/22/web-3-0-is-closer-than-you-might-think/
Das sollte Headless Drupal heißen, besonders wenn man Angular.js als Frontend verwenden würde. Es gibt eine ähnliche Entwicklung mit Drupal. Was viele nicht wissen, war, dass man Open Office vor 12-15 Jahren ähnlich als Datenspeicher nutzen konnte. Wenn man das Headless WordPress nennen würde, würden die Geeks die Parallelen klarer erkennen.
Das erste Headless Drupal sollte Headless WordPress sein... Ausreden.
Guter Link zu Contentful, Chris, und zum Gastautor Eduardo Bouças, danke, dass Sie sich die Zeit genommen haben, es ist interessant zu sehen, wie Leute Probleme angehen. An alle, die gepostet haben: "Das sollte besser sein"... Natürlich könnte es das, es ist keine API in einem Artikel oder sogar einer Artikelreihe, genauso wie die Universität und wie Amerikaner es College nennen, Ihnen beides nicht geben wird...
Wie würde das überhaupt aussehen? DBAD und sei vernünftig. Das war nicht dazu gedacht, die Arbeit von jemandem zu erledigen...
Ich wäre neugierig zu wissen, ob dieses Modell auf einer großen Website verwendet wurde? Ich denke darüber nach, das für meine Seite zu tun und suche noch nach Informationen.
Anscheinend hat Bocoup das für einen großen Kunden gemacht (sie verraten nicht, wer) und Node.js verwendet, um das Frontend zu rendern. WordPress wurde nur als CMS und API verwendet. Sehen Sie sich ihre Präsentation hier an: http://bocoup.com/community/presentations/wordpress-in-weird-places/
Vielen Dank für diesen Link. Sehr interessant.
Aber müssen wir dafür wirklich Multisite verwenden? Ich meine, die Funktionsweise von Multisite in WP scheint zu viel zu sein, wenn man kein Standard-WP-Frontend verwendet. Es scheint mir, dass es einfacher wäre, einfach eine Kategorie für jede Website zu erstellen (und vielleicht Unterkategorien), und die WP REST API zur Kommunikation mit dem Frontend zu verwenden, ohne Multisite zu aktivieren. Fehlt mir da etwas?
Nein, ich glaube nicht, dass Ihnen etwas fehlt. Der Autor dieses Artikels hat zufällig Multisite verwendet, weil es wahrscheinlich am besten zu seinen Bedürfnissen passte, aber ich glaube, Sie haben Recht, dass Sie für einige Projekte keine benötigen würden. Ich sehe keinen Grund, warum Sie nicht einfach Beiträge von verschiedenen Websites nach ihren Kategorien abrufen könnten. Es hängt nur davon ab, ob das eine ausreichende Lösung für Ihr Projekt ist.
Ich benutze WordPress seit einiger Zeit als API, habe mein eigenes API-Plugin dafür erstellt. Es funktioniert ziemlich gut und reduziert den Serveraufwand erheblich. Ich hatte ein paar Authentifizierungsprobleme, aber man kann einige dieser Dinge mit etwas Bastelarbeit in das Kernsystem einbauen und es funktioniert großartig.
Ein "modulares" WordPress wäre fantastisch. Stellen Sie sich vor, Sie könnten die Logik-, Backend- und Frontend-Teile (und Sie könnten es wahrscheinlich in viele weitere Teile unterteilen) von WordPress als separate Module haben. Ich persönlich liebe das WordPress-Backend. Es wäre großartig, wenn ich dieses Backend einfach in mein Projekt einbinden könnte, ohne den Rest von WordPress. Oder vielleicht haben Sie bereits ein Backend und mögen einfach, wie WordPress die Logik handhabt. Sie könnten das Logikmodul in Ihr Projekt einbinden und es mit Ihrem Backend zum Laufen bringen, ohne alle von WordPress installieren zu müssen.
Ja, das wäre sehr hilfreich, wenn man nur das Backoffice auswählen könnte – ohne den Code, der für das Frontend/Theme/Plugins bestimmt ist. Aber das ist (noch) kein gängiger Anwendungsfall für WordPress.
Ich dachte, ich hätte eine geniale Idee, als ich das machen wollte, aber natürlich waren einige Leute schneller als ich, wie Eduardo hier. Ich würde gerne mit ihm darüber sprechen, um mehr zu erfahren.
Interessanter Artikel... Ich benutze WordPress seit einem Jahr als Content Management System für meine Arbeit. Es scheint einfacher zu sein, eine API als das Frontend zu verwenden.