Wie stelle ich Inhaltsblöcke in Wordpress dar?

10

Ich habe WordPress bisher nur als selbst gehostete Blogging-Plattform verwendet. Ich muss es für ein sehr einfaches CMS verwenden, das aus ~ 10 Seiten besteht, von denen die meisten statische Inhalte sind und regelmäßig aktualisiert werden. Ich muss in der Lage sein, Dokumente hochzuladen, Bilder einzubetten und Kopien mit dem Texteditor zu bearbeiten - so ziemlich alle Standardfunktionen, die WordPress bietet.

Ich habe jedoch Schwierigkeiten, bestimmte Abschnitte innerhalb einer Seite zu bearbeiten - insbesondere, wenn ich weiß, wo ich anfangen soll. Ein "normales" CMS unterteilt eine Seite traditionell in separate Abschnitte und ermöglicht es mir, jeden dieser Abschnitte zu bearbeiten, indem ich entweder den Inhalt direkt bearbeite oder freigegebenen Inhalt an dieser Stelle einbinde. Ich kann nicht herausfinden, wie man das mit WordPress macht.

Ist es möglich, das Seitenmodell so zu "dehnen", dass eine Seite eigentlich nur ein Teil des Inhalts ist, von einer bestimmten Seite / Vorlage aufgenommen wird und - irgendwie - vor direkter Anzeige geschützt ist (Entfernen aus den Navigationsmenüs ist a Start).

Irgendwelche Hinweise, wo ich anfangen soll?

Aktualisieren

Stellen Sie sich zur Verdeutlichung einen Standard-WordPress-Blogbeitrag vor. Stellen Sie sich vor, es ist ein statischer Inhalt. Angenommen, Sie möchten, dass ein Editor nur den ersten Absatz dieses Blogposts ändern kann . Jetzt,

  • Sollte sich der statische Inhalt dieser Seite in einem Beitrag, einer Seite, einer Vorlage oder etwas anderem befinden?
  • Sollte der bearbeitbare Inhalt eine Seite sein, ... oder etwas anderes?

Beispielsweise:

<h1>About us</h1>

<p>Example.com is a company specialising in examples, demonstrations,
and canonical stuff.</p>

Wenn ich möchte, dass dieser Absatz bearbeitet werden kann, brauche ich vermutlich Folgendes:

<h1>About us</h1>

<p><?php insert_page('name-of-content-chunk'); ?></p>

Update 2

OK, nach vielen Recherchen, Versuchen und Irrtümern habe ich Folgendes aufgenommen:

  1. Wordpress ist nicht so eingerichtet, dass ein klassisches CMS einfach repliziert werden kann, insbesondere im Hinblick auf mehrere Inhalte auf einer Seite.
  2. Dieses Modell kann mehr oder weniger mithilfe von benutzerdefinierten Posts nachgeahmt werden (siehe unten).
  3. Seiten bieten jedoch fast die Möglichkeit, dies zu tun:
    • Ein Plugin ist nur erforderlich, um eine Seite einzuschließen
    • Seiten scheinen nicht so flexibel zu sein wie Beiträge - z. B. keine benutzerdefinierten Seitentypen

Die Methode, die ich unter Verwendung benutzerdefinierter Beitragstypen verwendet habe, lautet im Allgemeinen wie folgt:

  1. Die Seite ist eine "Seite" mit einer benutzerdefinierten Vorlage - nennen Sie sie "mypage.php".
  2. Diese Vorlage enthält Folgendes:
    <div id = "header">
      <? php
        query_posts (Array ('name' => 'foo', 'post_type' => 'header-text'));
        get_template_part ('Header-Text');
      ?>
    </ div>
    
    <div id = "content">
      <p> Eine statische Kopie in der Vorlage, die dies kann
      darf nur vom Site-Administrator geändert werden. </ p>
    
      <? php
        query_posts (Array ('name' => 'bar', 'post_type' => 'image'));
        get_template_part ('image');
      ?>
    </ div>
    

Ist das für irgendjemanden da draußen sinnvoll ? :-)

Bobby Jack
quelle
Wordpress-Fragen sind hier vollkommen in Ordnung, es sei denn, sie beschäftigen sich zu sehr mit Programmierung.
Tim Post

Antworten:

3

Wie bereits erwähnt, möchten Sie möglicherweise benutzerdefinierte Beitragstypen verwenden . Sie sollten sich jedoch auch benutzerdefinierte Felder ansehen , in denen Sie Bits dynamischer benutzerdefinierter Daten angeben können, die Sie jeder Seite zuordnen möchten. Hier ist das Tutorial des Smashing Magazine zu benutzerdefinierten Feldern, das Tutorial (und das Video ) von Nettuts und eine Liste anderer Tutorials.


quelle
Ich werde einen Blick auf benutzerdefinierte Beitragstypen werfen. Das Problem mit benutzerdefinierten Feldern ist, wenn ich sie richtig verstehe, dass sie im schlimmsten Fall nur einfacher Text sind und bestenfalls keine WYSIWYG-Bearbeitung bieten.
Bobby Jack
Es ist auch ratsam, sicherzustellen, dass Sie mit benutzerdefinierten Taxonomien und deren Funktionsweise mit benutzerdefinierten Beitragstypen vertraut sind.
Travis Northcutt
1

Wenn ich es richtig verstanden habe, möchten Sie unterschiedliche Layouts für unterschiedliche Seiten haben. Sie können dies erreichen, indem Sie entweder eine benutzerdefinierte Vorlage für jede Seite der Site oder eine einzelne benutzerdefinierte Seite mit verschiedenen Bedingungen erstellen.
Die erste Option finden Sie im Abschnitt zum WordPress-Codex zu benutzerdefinierten Vorlagenseiten: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

Das zweite Tutorial finden Sie in diesem Tutorial: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

Anschließend können Sie diese "Blöcke" in verschiedene PHP-Dateien verschieben, die Sie in Ihre spezifischen Seiten aufnehmen.


quelle
Hmm ... Ich werde mir die Links ansehen, bin mir aber nicht ganz sicher, ob ich mich richtig erklärt habe. Im Wesentlichen muss ich mit dem möglichst "atomaren" Inhalt arbeiten. Etwas, das jedes andere CMS, das ich verwendet habe, sehr einfach macht. Ich habe die Frage aktualisiert, um sie besser zu erklären.
Bobby Jack
Wenn Sie möchten, dass der Inhalt statisch ist (und mit statisch meine ich einfaches HTML, das nicht aus einer Datenbank bereitgestellt wird - wie die WordPress-Beiträge), ihn aber dennoch ändern möchten, fügen Sie die Blöcke der Vorlage hinzu. Ansonsten lege es auf eine Seite und das wars.
und wenn ich möchte, dass diese Chunks WYSIWYG-editierbar sind?
Bobby Jack
1

Schauen Sie sich ein Plugin wie Magic Fields an. Es verwendet intern benutzerdefinierte Felder, aber die Benutzeroberfläche kann über einen Rich-Text-Editor, ein Dropdown-Menü für Listen usw. verfügen.

Auf diese Weise können Sie Ihre Inhaltselemente, ihre Typen und (zur Auswahl) ihre Werte definieren. Dann kann Ihr Thema es anzeigen.

Eine Alternative wäre, einen Plugin-Bereich zu definieren und zu entscheiden, welches Plugin dort verwendet werden soll. Dies ist jedoch weniger flexibel, da immer noch keine zwei seiten- / postspezifischen Inhaltselemente zulässig sind.

Alexandre Rafalovitch
quelle
1

Das beste Plugin zum schmerzlosen Hinzufügen von benutzerdefinierten Inhaltsbereichen über Titel und Inhalt hinaus ist wahrscheinlich das Plugin "Weitere Felder".


quelle