Fragen zu eigenem Layout

  • Hallo,

    ich habe mir ein Layout gebastelt und möchte nun Wordpress als CMS nutzen.
    Leider kenne ich mich mit Wordpress noch nicht so gut aus und weiß nicht wie ich einige Probleme lösen kann.

    Preview - Startseite
    Preview - Blog

    1. Mein erstes Problem ist der "Seitenuntertitel" - also der Text in der hellblauen Box - der auf jeder Seite anders ist.
    Ich habe das jetzt mit einem Benutzerdefinierten Feld gelöst, funktioniert soweit auch ganz gut. Nur auf der Blogseite - auf der Artikel veröffentlicht werden - wird der Inhalt des Feldes nur dann ausgegeben, wenn keine Artikel vorhanden sind oder ich das Feld bei jedem Eintrag fülle.
    Wie schaffe ich es, dass das Feld nicht von jedem Artikel überschrieben wird?

    2. Ich bin mir nicht sicher, wie ich die dunkelgraue Box realisieren soll. Wäre es sinnvoll dies auch mit Benutzerdefinierten Feldern (Eines für das Icon und das zweite für den Inhalt) zu lösen?

    3. Der Content besteht immer aus drei Spalten, allerdings ist der Inhalt und die Position der Spalten auf jeder Seite anderst. Wie schaffe ich es nun, dass jede Seite im Content anderst aussieht?

    Vielen Dank schonmal!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Zitat

    Mein erstes Problem ist der "Seitenuntertitel" - also der Text in der hellblauen Box - der auf jeder Seite anders ist.
    Ich habe das jetzt mit einem Benutzerdefinierten Feld gelöst, funktioniert soweit auch ganz gut. Nur auf der Blogseite - auf der Artikel veröffentlicht werden - wird der Inhalt des Feldes nur dann ausgegeben, wenn keine Artikel vorhanden sind oder ich das Feld bei jedem Eintrag fülle.
    Wie schaffe ich es, dass das Feld nicht von jedem Artikel überschrieben wird?

    Für andere Ansichten als die Einzelansicht musst Du dort einfach etwas anderes ausgeben. Also etwa so:

    PHP
    if (is_single() || is_page()) {
      // Benutzerdefiniertes Feld ausgeben
    } else {
      // Blog-Untertitel ausgeben (siehe allgemeine Einstellungen im Backend)
      bloginfo('description');
    }

    Das kannst Du natürlich auch weitertreiben und z.B. auf Kategoriearchiven die Kategorie-Beschreibung ausgeben etc.

    Zitat

    2. Ich bin mir nicht sicher, wie ich die dunkelgraue Box realisieren soll. Wäre es sinnvoll dies auch mit Benutzerdefinierten Feldern (Eines für das Icon und das zweite für den Inhalt) zu lösen?

    Tja, wie verschieden soll das denn sein und was soll dort auf der Startseite und anderen Übersichtsseiten stehen? An die kannst Du ja keine Benutzerdefinierten Felder hängen. Für mich sieht das eher nach einem Widget aus, aber die Frage ist erst mal, wie sehr sich das von Seite zu Seite unterscheiden soll.


    Zitat

    3. Der Content besteht immer aus drei Spalten, allerdings ist der Inhalt und die Position der Spalten auf jeder Seite anderst. Wie schaffe ich es nun, dass jede Seite im Content anderst aussieht?

    Hm, da wirst Du etwas programmieren müssen. Du kannst ja vor der Ausgabe der Inhalte einen beliebigen Platzhalter durch den Spaltenumbruch ersetzen. Da schreibst Du meinetwegen BREAK in den Text oder meinetwegen auch <!-- BREAK --> falls Du z.B. eh in der HTML-Ansicht arbeitest. Und das ersetzt Du vor der Ausgabe einfach. Also eigene Funktion in die function.php, welche das Ergebnis von get_the_content filtert und anpasst. Nicht vergessen, die Platzhalter für den RSS-Feed wieder herauszunehmen (Filter für get_the_content_rss?!).

  • Für andere Ansichten als die Einzelansicht musst Du dort einfach etwas anderes ausgeben. Also etwa so:

    PHP
    ...

    Danke, hat wunderbar funktioniert.



    Tja, wie verschieden soll das denn sein und was soll dort auf der Startseite und anderen Übersichtsseiten stehen? An die kannst Du ja keine Benutzerdefinierten Felder hängen. Für mich sieht das eher nach einem Widget aus, aber die Frage ist erst mal, wie sehr sich das von Seite zu Seite unterscheiden soll.

    Es soll auf jeder Seite nur die zwei Elemente (Icon und Text) geben. Die Position bleibt immer gleich, nur dass Icon und der Text ist eben auf jeder Seite anderst.


    Hm, da wirst Du etwas programmieren müssen. Du kannst ja vor der Ausgabe der Inhalte einen beliebigen Platzhalter durch den Spaltenumbruch ersetzen. Da schreibst Du meinetwegen BREAK in den Text oder meinetwegen auch <!-- BREAK --> falls Du z.B. eh in der HTML-Ansicht arbeitest. Und das ersetzt Du vor der Ausgabe einfach. Also eigene Funktion in die function.php, welche das Ergebnis von get_the_content filtert und anpasst. Nicht vergessen, die Platzhalter für den RSS-Feed wieder herauszunehmen (Filter für get_the_content_rss?!).

    Hmmm... hört sich schon mal kompliziert an.
    Ich hab mir das eher so vorgestellt, dass in der index.php mit "is_page()" überprüft wird welche Seite aufgerufen wurde und includiere dann eine PHP-Datei die den Content für die jeweilige Seite ausgibt.

    Bin mir aber nicht sicher ob das sinnvoll ist. :|

  • Zitat

    Es soll auf jeder Seite nur die zwei Elemente (Icon und Text) geben. Die Position bleibt immer gleich, nur dass Icon und der Text ist eben auf jeder Seite anderst.

    Es handelt sich aber nicht um den eigentlichen Inhalt der Seite? Alsod as, was Du im Editor der statischen Seite/des Beitrages eingibst?


    Zitat

    Ich hab mir das eher so vorgestellt, dass in der index.php mit "is_page()" überprüft wird welche Seite aufgerufen wurde und includiere dann eine PHP-Datei die den Content für die jeweilige Seite ausgibt.

    Bin mir aber nicht sicher ob das sinnvoll ist. :neutral:

    Nein, eigentlich nicht. Dann kannst Du das ganze ja auch gleich als statische HTML- oder PHP-Seite umsetzen und brauchst ein System wie WordPress nicht. Der Sinn von WordPress ist ja, den Inhalt über das System zu verwalten. ;-)

    Die andere Variante ist, Dir den Editor zu modifizieren. Wenn Du z.B. sagst, dass alle statischen Seiten aus drei Spalten bestehen, kannst Du da sicher auch noch zwei weitere Editor-Areas einblenden und vor dem Speichern daraus einen HTML-Text zusammenbasteln. Ich bin aber nicht sicher, ob ich aktuell die Zeit habe, Dir das komplett fertig zu basteln. Da müsstest Du gegebenenfalls selbst Hand anlegen. Generell ist WP leider eben auf die Eingabe eines einzigen zusammenhängenden Textes pro Seite optimiert. Alles andere kann man machen, muss man sich dann aber umständlich selbst einrichten.

  • Hallo Ammaletu,

    Es handelt sich aber nicht um den eigentlichen Inhalt der Seite? Alsod as, was Du im Editor der statischen Seite/des Beitrages eingibst?

    Richtig, es handelt sich dabei um eine zusätzliche Box mit Inhalt. Der eigentliche Seiteninhalt kommt erst darunter.



    Nein, eigentlich nicht. Dann kannst Du das ganze ja auch gleich als statische HTML- oder PHP-Seite umsetzen und brauchst ein System wie WordPress nicht. Der Sinn von WordPress ist ja, den Inhalt über das System zu verwalten. ;-)

    Sorry, ich hab mich etwas unklar ausgedrückt.
    Für statische Seiten wird doch soweit ich weiß die "page.php" eingebunden.
    Ich hätte mir jetzt den Inhalt einer "page.php" genommen und für jede Seite - die individuell aussehen soll - in einer neuen PHP-Datei gespeichert (z.B. pageServices.php für die Leistungen).
    In der "page.php" prüfe ich dann welche Seite aufgerufen wurde... wird die Seite in der Abfrage gefunden wir die entsprechende page....php eingebunden.
    Also ungefähr so:

    PHP
    if(is_page('Leistungen')) {
      //binde pageServices.php ein
    }
    elseif(is_page('Referenzen')) {
      //binde pageReferences.php ein
    }
    ...
    else {
      //Standardausgabe
    }

    In den einzelnen PHP-Dateien kann ich ja dann machen was ich will, da sie ja nur eingebunden werden, wenn der entsprechende Menüpunkt aufgerufen wurde.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!