the_content ändern

  • Hallo allerseits,

    ich glaube, das ist schonmal gefragt worden, doch leider bin ich bei den Erklärungen nicht ganz nachgekommen.

    Momentan gibt mir die Funktion "the_content" folgendes aus:

    PHP
    <p><img src="..." /> asdaslkdjölakdj ölkj öl kj ölkj ö lkj ölkj</p>

    Ich würde aber gerne folgende Ausgabe haben:

    PHP
    <p>asd lkjh lkjh lkjh...</p><img src="..." />

    Ich will das Bild gerne ausserhalb des p-tags haben, damit ich es besser stylen kann. Also im Detail will ich dem p-Tag eine bestimmte Breite geben und dann das Image rechts davon stehen haben. Damit das Bild nicht vom Text umflossen wird, sondern der Text auch wenn er länger ist als die Höhe des Bildes schön in der Textspalte bleibt.

    Kann ich die Funktion the_content irgendwie so ändern?

    • 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

  • Man muss nicht dei the_content()-Funktion umschreiben (was in deinem Fall wohl nur mit sehr viel Aufwand gehen wird), was auch mit CSS geht.

    Mal angenommen bei dir im Template sieht das so aus:

    HTML
    <div class="entry><?php the_content() ?></div>

    Dann kann du folgende CSS-Regeln einbauen:

    Code
    .entry {
    posititon:relative;
    }
    .entry p {
    margin-right: /* Breite des Bildes + Abstand */
    }
    .entry p img {
    position:absolute;
    right:0;
    }


    So in etwa der Ansatz.

  • hallo marX,

    na klar. Vielen Dank. Hast gerade einen Knoten in meinem Hirn gelöst. Hab's mit CSS versucht, aber bin einfach nicht recht auf die Lösung gekommen.

    Super! Vielen Dank.

  • Noch schnell eine Frage, bin immer noch verwirrt. Sorry.

    Mit deinen Angaben ist der Post genau so hoch, wie der Text lang ist. wenn ich also ein Bild habe, dass etwa 100px hoch ist un nur etwa zwei Zeilen text habe, dann wird mir das Bild vom darunterliegenden Post verdeckt, da die Höhe nicht recht definiert ist.

    Hier mein CSS:

    Wie kann ich die Höhe des Post definieren, dass sie egal ob der Text lang oder das Bild sehr hoch ist, der nächste Post weder das Bild noch den Text verdeckt?

  • Mmh, dann versuch mal position:relative statt position:absolute. Aber kann sein dass es dann nicht ganz so funktioniert. Bei position:absolute wird das Bild aus dem normalen Elementfluß herausgenommen, d.h. sein Größe wirkt sich nicht mehr aus. Und clear hilft leider nur bei float, nicht bei position.

  • habe eben auch zuerst so ein clear:both dazwischen gehabt, hab dann aber gemerkt, wie marX gesagt hat, dass das nur bei floats funktioniert.

    position:relative funktioniert leider auch nicht.

  • wahrscheinlich wär's jetz doch wieder an der zeit, darüber nachzudenken, wie man the_content ändern kann, damit man p und img floaten kann und dann ein <div class="clear"></div> einbauen kann um, die Posts schön untereinander zu setzen.

  • Das will auch nicht so richtig.

    Kommen wir doch zu meiner ursprünglichen Frage zurück. Kann ich the-Content nicht so schreiben, dass es mir kein p-Tag um den ganzen Post macht, sondern nur dort, wo ich den Text im WYSIWYG-Editor als Absatz deklariere.?

    Will halt nicht, dass der Kunde in den Code gehen muss.

  • Kommen wir doch zu meiner ursprünglichen Frage zurück. Kann ich the-Content nicht so schreiben, dass es mir kein p-Tag um den ganzen Post macht, sondern nur dort, wo ich den Text im WYSIWYG-Editor als Absatz deklariere.?


    Macht wpautop doch. Aber nicht das Bild dahin verschieben, wo du es gern hättest. Das musst du (bzw. dein Kunde) schon selbst machen.

Jetzt mitmachen!

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