Fügen Sie Inhalte ohne Kurzwahl zu Seite hinzu

Die Seite, an der ich gerade arbeite, hat ein paar Seiten, die mit verschiedenen Inhaltselementen wie Textbildkombinationen, Schiebereglern, Inhaltslisten usw. gefüllt werden müssen. Der Kunde müsste diese Inhaltsblöcke neu ordnen, neue hinzufügen und so weiter. Jeder Inhaltsblock wäre ein Stück Inhalt (Post- oder benutzerdefinierter Post-Typ) oder eine Inhaltsliste.

Von dem, was ich verstehe, habe ich 2 Möglichkeiten:

  1. Verwenden Sie ein komplexes Plug-in zum Ziehen und Ablegen vordefinierter Inhalte
  2. Verwenden Sie Kurzwahlnummern

Von einem Entwicklungsstandpunkt aus würde ich lieber nicht die gesamte Logik einem Drittanbieter-Plugin überlassen. Es scheint, dass ich etwas von der Kontrolle über das Templating verlieren würde?

Aber Shortcodes scheinen keine akzeptable Lösung für irgendeinen Kunden zu sein, wirklich, weil sie zu technisch sind.

Irgendwelche Vorschläge? Gibt es eine Best Practice?

Solutions Collecting From Web of "Fügen Sie Inhalte ohne Kurzwahl zu Seite hinzu"

Dies ist eine interessante Frage, obwohl sie für ein Q & A-Modell etwas zu weit gefasst ist. Hier ist, was ich tun würde:

  1. Erstellen Sie einen benutzerdefinierten Posttyp, bei dem jeder Post ein Inhaltsblock ist
  2. Erstellen Sie einen zweiten benutzerdefinierten Posttyp für Seiten, die aus Codeblöcken zusammengesetzt sind. Erstellen Sie anstelle eines Inhaltsfeldes zehn Dropdown-Felder (oder mehr, wenn auf einer Seite mehr Blöcke möglich sind). Für die Auswahloptionen im Dropdown-Menü übernehmen Sie den Titel aller Beiträge im ersten benutzerdefinierten Beitragstyp. Auf diese Weise wird jeder neue Inhaltsblock automatisch für die Assemblierung verfügbar.
  3. Erstellen Sie eine Vorlage für den zweiten Post-Typ, der alle Dropdown-Felder durchläuft und den Inhalt aus den ersten benutzerdefinierten Posts zusammensetzt.

Zwar sind Shortcodes selbst mit functionen verknüpft, aber ich denke, Sie könnten sie effektiv in Kombination mit Vorlagen und einer Metabox für ihre Eingabedaten verwenden. z.B:

 add_shortcode('content-box','content_box_function'); function content_box_function() { global $post; $title = get_post_meta($post->ID,'_content_box_title',true); $content = get_post_meta($post->ID,'_content_box_content',true); get_template_part('templates/content','box'); } 

/ wp-content / themen / theme-slug / templates / content box.php

 

< ?php echo $title; ?>

< ?php echo $content; ?>

Fügen Sie dann eine Metabox zum Post-Writing-Bildschirm hinzu, damit der Benutzer die Meta-Werte auswählen / definieren kann, die zu den Schlüsseln gehören, die Sie für jeden Inhaltsblock-Shortcode verwenden.

Gibt Ihnen den Vorteil, dass der Shortcode überall im Inhalt angeordnet / platziert werden kann und bei Bedarf noch andere Inhalte haben kann, aber das Template (und das zugehörige Styling) könnte bereits für die vordefinierten Inhaltsblocktypen ausgearbeitet werden.

Sie könnten die Verwendung der Seitenvorlagen in Erwägung ziehen. Für das Beispiel werde ich eine Kontaktseite verwenden. “Kontaktseite.php”

Sie können dann den Code eingeben, den Sie für die Vorlage benötigen. Um die Flexibilität beizubehalten, verwenden Sie den Customizer (falls Sie sich nicht damit auskennen) und verwenden Sie dies auf der Vorlagenseite, damit der Administrator den Seiteninhalt ändern kann, ohne sich den Code ansehen zu müssen. So habe ich meine Vorlagen gemacht.

Ich habe die verschiedenen Optionen ausgewertet und bin mit einem Plugin “Page Builder” gegangen. Während die technischen Aspekte nicht groß sind (zB Daten bleiben: alle Inhalte werden serialisiert) war die einzige Option, die mir genug Flexibilität und genügend Komfort gab, damit der Kunde Änderungen an der Struktur jeder Seite vornehmen konnte.

Die Migration von Dev zu Stage to Live war auch wegen der Serialisierung ein Problem und nur mit einem weiteren Plugin (Duplikator) möglich.

Danke allen für die Eingabe!