Wow.
Ich hoffe, ich bin dahinter gekommen, worum es geht.
Also … erst einmal: Die Webseite „Mein Blog“ (um bei dem Beispiel zu bleiben) ist, wenn man sie unter Einstellungen > Lesen als Beitragsseite definiert, „nur“ ein Platzhalter. Das siehst du* daran, dass alle Inhalte, die du im Eingabefeld der Seite eintippst, nirgendwo erscheinen.
Ob die Blogbeiträge auf der Seite „Mein Blog“ komplett wiedergegeben werden oder ob du nur Auszüge siehst, hängt davon ab, ob du bei der Eingabe der Beiträge das <more>-Tag verwendet oder einen Auszug eingegeben hast. Es werden aber auch nur Blogbeiträge (einer nach dem anderen) ausgegeben und du hast zunächst keine Möglichkeit, noch irgendwelche Dinge „dazwischen zu schummeln“.
Mit einem eigenen Template kannst du nach Bedarf zusätzliche Abschnitte (<div>) oder weitere CSS-Klassen hinzufügen und die Ausgabe formatieren, wie du magst. Nennst du das Template page-mein-blog.php (also nach dem Muster page-{titelform}.php), wird das Template auch automatisch geladen, ohne explizit im Backend zugewiesen zu werden.
Eine andere Variante wäre, keine Beitragsseite zu definieren und dann entweder in einem Child Theme ein eigenes Template zu schreiben, dass a) den Inhalt einer Seite „Mein Blog“ ausgibt (z.B. mit einem Einführungstext) und b) eine weitere Abfrage durchläuft, die dann zusätzlich die Blogbeiträge ausspuckt. Diese Methode erlaubt allerdings keine Paginierung, weil ja nur eine statische Seite ausgegeben wird (auf der dann beliebig viele Blogbeiträge erscheinen – nur wird die Seite dann elend lang).
(Alternativ dazu könnte man auch a) den Seiteninhalt ausgeben und dann b) mit Hilfe eines Plugins einen Shortcode einfügen, der letztendlich die einzelnen Blogbeiträge abruft und unterhalb des Seiteninhalts ausgibt. Das Problem der Paginierung bleibt dabei aber bestehen.)
Noch eine weitere Variante ist, über den Filter pre_ge_posts
zu definieren, dass bei Aufruf der Seite „Mein Blog“ eine Abfrage aller Blogbeiträge ausgegeben wird. Vor dieser Ausgabe kann man den eigentlichen Seiten-Inhalt mit get_post(‚Mein Blog‘) abfragen und ausgeben. Durch die (etwas kompliziertere) Umstellung der Abfrage passt dann aber auch die Paginierung.
So oder so kommst du bei diesen Beispielen nicht darum herum, in einem Child Theme ein eigenes Template und (für die letztere Variante) eine Funktion in der functions.php
zu hinterlegen, die die Abfrage über den Filter pre_get_posts
manipuliert.
Noch rasch ein Wort zu den Beitragsbildern für die einzelnen Beiträge: Häufig wird übersehen, dass über das Pulldown-Menü Ansicht anpassen das Bedienfeld zur Erfassung des Beitragsbilds ein- bzw. ausgeblendet werden kann. Vielleicht hilft das auch schon weiter?
Zu Layoutwerkzeugen wie Beaver Builder kann ich nicht viel sagen. Da habe ich aktuell kein Budget für. 🙂
(*Wir verwenden hier übrigens, wie in Open Source Communities üblich, das respektvolle „du“.)