Hinzufügen und Anzeigen von benutzerdefiniertem Inhalt, der kein Post ist

Ich baue eine WordPress-Site für eine lokale Zeitung. Diese Zeitung hat derzeit ein “Service-Verzeichnis” online, das eine Reihe von Anzeigen im Stil einer gelben Seite für verschiedene lokale Unternehmen darstellt. Jede dieser Anzeigen ist nur ein einzelnes Bild mit einem Click-through, obwohl es zwei unterschiedlich große Anzeigen (mit unterschiedlichen Preisen) gibt, die anders angezeigt werden müssen.

Das Datenschema würde ungefähr so ​​aussehen (formatieren Sie einfach in JSON zur besseren Lesbarkeit – ich weiß, dass es als SQL gespeichert wird):

service_link: { image: 'plumberad01.png' url: 'http://myplumber.com', type: 'large', active: true } 

Ich weiß, dass ich eine neue Seite erstellen und die Bilder und ihre Links manuell hinzufügen kann, aber die Verwaltung wird zu einem großen Ärger. Ich möchte eine benutzerdefinierte Seite erstellen, die nur alle aktiven service_links findet und sie dann richtig formatiert. Ich kann einfach das PHP schreiben, um das zu tun.

Was ich nicht sicher bin, ist wie man die service_links der database hinzufügt. Bei all meinen Suchanfragen werden immer nur Informationen über benutzerdefinierte Post-Typen angezeigt, was anscheinend nicht das ist, wonach ich suche, da es sich nicht um einzelne Posts handelt. Sie werden nur zusammen mit allem anderen gesehen werden.

Meine Vermutung ist, dass ich ein benutzerdefiniertes Plugin schreiben müsste (hauptsächlich, damit ich das service_link Management-Zeug zum Menü in wp-admin hinzufügen kann), also suche ich nach einem Plugin, das etwas Analoges oder eine Art Tutorial tut. Ich denke, das ist kein ungewöhnlicher Anwendungsfall (Inhalt ist kein Beitrag), also weiß ich nicht, warum ich so viel Mühe habe, Informationen zu finden.

Solutions Collecting From Web of "Hinzufügen und Anzeigen von benutzerdefiniertem Inhalt, der kein Post ist"

Nach dem, was Sie beschreiben, sind diese Anzeigen separate Informationen, die Sie basierend auf ihren Eigenschaften bestellen und anzeigen möchten. Das würde bedeuten, sie als benutzerdefinierte Beiträge zu speichern, ist immer noch der richtige Weg. Posts sind übrigens die Art und Weise, wie WordPress Teile zusammenhängender Informationen speichert. Das bedeutet nicht, dass sie separat angezeigt werden müssen. Menüs werden auch als Post-Typ gespeichert , auch wenn sie nur in Templates enthalten sind, die auch reguläre Posts enthalten und auf eine völlig andere Art und Weise behandelt werden.

Jetzt haben Sie die separaten Anzeigen in einem Post-Typ, Sie können wp_query , um sie auszuwählen und sie in einer Vorlage anzuzeigen. Grob gesagt gibt es zwei Möglichkeiten. Wenn Sie die Vorlage steuern, können Sie Widgetbereiche an geeigneten Stellen erstellen und ein Widget schreiben, das die Anzeigen anzeigt. Wenn Sie die Vorlage nicht kontrollieren, können Sie einen Shortcode schreiben und ihn in normale Posts / Seiten einfügen.

Sie würden den gesamten Code (benutzerdefinierter Beitragstyp und Widget / Shortcode) in einem Plugin zusammenstellen. Der Vorteil, dies zu tun, wäre Flexibilität für zukünftige Entwicklungen. Sie könnten zum Beispiel einzelne Anzeigen auf Content-Seiten platzieren, wenn Sie dies wünschen.

Wenn ich verstehe, was Sie suchen, sollte das Plug-in, erweiterte benutzerdefinierte Felder, nützlich sein. Sie können eine Seitenvorlage erstellen, die ein Bild, Textfelder usw. enthalten kann, die dann für jede Seite ausgefüllt werden können. Siehe https://www.advancedcustomfields.com/

Es ist einfach zu bedienen und einzurichten, mit guter Dokumentation. Sie erstellen Ihr Feld und rufen dann einfach jedes Feld in Ihrer Seitenvorlage auf.