In meinem Theme eine Art CMS mit Shortcodes aufbauen

  • Hallo zusammen,

    ich baue mir gerade mein eigenes Theme. Zu dem Feature, dass ich für jede meiner Seiten ein anderes Seiten-Template wählen könnte, möchte ich jetzt noch ein generisches Feature ala CMS Like für den Seiten-Content direkt haben.

    Vorstellen muss man sich dies so, das man im Editor den Shortcode "content_box_1" benutzt und entsprechend abschließt. Dazwischen kommt der Content hinein. So könnte man mittels CSS unterschiedlich gestaltete Content-Boxen auf der Seite anzeigen lassen.

    Mein Problem ist nun, dass ich so etwas auch gerne für zwei und drei Boxen, also 2 oder 3 Spalten nebeneinander, haben möchte. Und nach meinem aktuellen Stand wäre hier Shortcode nicht mehr möglich oder hat einer von euch so etwas schon mal damit umgesetzt.

    Wenn es nicht geht, bleibt mir wohl nur die Chance mein eigenes Panel bei Post und Page anzeigen zu lassen. Dann habe ich aber das Problem, dass ich die Reihenfolge des Contents vorgebe und habe dann leider auch nicht mehr den Editor als visualisierung.

    Schöner wäre natürlich so etwas hier:

    [content_box_1_col_a]
    Lorem ipsum
    [/content_box_1_col_a]

    [content_box_1_col_b]
    Lorem ipsum
    [/content_box_1_col_b]

    [content_box_2]
    Lorem ipsum
    [/content_box_2]

    [content_box_3_col_a]
    Lorem ipsum
    [/content_box_1_col_a]

    [content_box_3_col_b]
    Lorem ipsum
    [/content_box_1_col_b]

    • 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

  • Vielleicht veranschauliche ich mal das Problem.
    Den folgenden Code in die functions.php des Templates oder eine anlegen


    Man kann nun also im Artikel oder einer Seite wie folgt aggieren:

    HTML
    [box title="Headline" title2="Headline2" col="2"]
     sdfgsdfgsdfgsfdgsfd
     [/box]

    Ist auch alles soweit kein Problem. NUr habe ich einen zweiten Content, den ich aber nicht per Parameter ansetzen kann. Wie kann ich den zweiten Content angeben. Gar nicht. Und genau da ist mein Problem.

    Wie würdet Ihr das lösen?

  • Ich habe es jetzt so gelöst, für alle die so etwas ähnliches machen möchten:


    Nutzung in Seite/Artikel. Hier Beispiel für 2 Boxen nebeneinander:

    HTML
    [boxset]
     [box id=1 title=kjkjkj]Das ist eine Box[/box]
     [box id=2 title=dfghdgf]Noch eine Box[/box]
     [/boxset]


    Per CSS wird das dann entsprechend designed:

    HTML
    #boxset1 { overflow:hidden;}
    #boxid1 { float:left; background-color:Red;}
    #boxid2 { float:left; background-color:Green;}

    Durch die freie Wahl der Boxsets und Boxen kann man alles machen. Möchte man drei Boxen haben, denkt man sich ein zweites Boxset aus:

    HTML
    [boxset number=2]
      [box id=1]Das ist eine Box[/box]
      [box id=2]Noch eine Box[/box]
    [box id=3]Und eine dritte[/box]
      [/boxset]

    Css könnte dann entsprechend so aufgebaut sein:

    HTML
    #boxset1 { overflow:hidden;}
    #boxset1 #boxid1 { float:left; background-color:Red;}
    #boxset1 #boxid2 { float:left; background-color:Green;}
    #boxset1 #boxid... { float:left; background-color:Green;}

    Es gibt so verschiedene Möglichkeiten, ohne im Editor HTML und CSS angeben zu müssen, um jede Seite entsprechend einem richtigen CMS aussehen zu lassen. Dies lässt sich natürlich beliebig erweitern. Tabellen, Gallerien, was Wordpress ja schon hat und und und.

Jetzt mitmachen!

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