1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP 5.x Eine bestimmte Formatierung erst auf content ab einem bestimmten Datum anwenden

Dieses Thema im Forum "Design" wurde erstellt von Am Ende des Lateins, 1. März 2019.

  1. Am Ende des Lateins

    Am Ende des Lateins Well-Known Member

    Registriert seit:
    10. Februar 2019
    Beiträge:
    136
    Zustimmungen:
    2
    Ich bin - unter WP 5.1 und Theme Twenty Sixteen - mit diesem Blog:

    http://peter-nowak-journalist.de/

    beschäftigt.

    1. Ich hatte - nach entsprechender hiesiger Hilfe - folgenden code zu meinem child style sheet hinzugefügt, um eine bestimmte Formatierung aller ersten Absätze zu erreichen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und diesen code, um die Seiten von dieser Formatierung auszunehmen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    2. Es blieben aber mehrere Probleme:

    a) Ich habe bisher nicht herausgefunden, wie ich auch Kalendereinträge von der fraglichen Formatierung ausnehmen kann.

    b) WordPress nimmt manchmal auch - im visuellen Modus per copy & paste eingefügten - Text mitten im Beitrag als scheinbaren ersten Absatz (siehe z.B. dort die Absätze, die eigentlich als Blockzitate in kleinerer Schrift und ohne Hintergrund formatiert sein sollen; vgl. auch die copy & paste-Quelle zu diesem Beitrag] wahr und formatiert diesen in der dort aber von mir nicht erwünschten Weise.

    3. Jetzt habe ich mir Folgendes überlegt, um diese Fehlformatierungen zumindest für neuen content zu vermeiden:

    a) Ich habe mit dem Plugin Advanced Custom Fields (ACF) u.a. ein neues Feld "Lead" für die Beitrags-Erstellung geschaffen.

    b) In meine content-single.php habe ich vor

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    das Folgende eingefügt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    (Das gleiche würde ich auch noch in die content.php einfügen, falls der Rest so funktioniert, wie ich hoffe.)

    Außerdem habe ich in meine css.style eingefügt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    c) Das Ergebnis sieht wie folgt aus:

    [​IMG]

    und

    [​IMG]

    4. a) Ich würde jetzt gerne noch irgendwie und irgendwo definieren, daß meine Formatierung für

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    nur Anwendung finden soll auf content von vor dem 01.03.2019 (also auf content, der kein ausgefülltes lead-Feld hat), sodaß also

    • in dem obigem Beispiel der zweite (= erste 'normale') Absatz in normaler Schrift dargestellt würde;

    • bei älterem content der erste ('normale') Absatz aber die fragliche Formatierung erhalten würde.

    Das heißt: Ich würde mir ersparen für die ca. 4.000 alten Beiträge das lead-Feld nachträglich auszufüllen; bei den alten Beiträgen die Fehlformatierung der Blockzitate hinnehmen; aber für die neuen Beiträge sicherstellen, daß das lead so formatiert ist, wie es sein soll, ohne daß dies aber (für den neuen content) die Formatierung der Blockzitate beeinträchtigt.

    Alternativ zu einer Datums-Bedingung käme auch in Betracht die

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Formatierung davon abhängig zu machen, daß das lead-Feld nicht ausgefüllt ist.

    5.
    Läßt sich eine solche Bedingung irgendwie formulieren? Und falls ja: Wie?

    Oder gibt es eine andere Lösung zur Vermeidung der Fehlformatierung der Blockzitate?
     
  2. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.577
    Zustimmungen:
    278
    bestimm einfach eine neue body-class in der header.php, wo du dann das Datum von der letzten Bearbeitung abfragst. Nur mal auf die schnelle, damit du weißt, was ich etwa meine:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So hättest du im body jetzt (bei älteren Artikeln) eine neue class "old", die du entsprechend formatieren kannst:
    body.old .entry-content p:first-of-type
     
  3. Am Ende des Lateins

    Am Ende des Lateins Well-Known Member

    Registriert seit:
    10. Februar 2019
    Beiträge:
    136
    Zustimmungen:
    2
  4. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.577
    Zustimmungen:
    278
    du hast jetzt einen 2. body Tag einfach in der content-single.php angelegt, das ist falsch. Du solltest den vorhandenen body tag anpassen.

    Wenn du unbedingt nur an die content-single.php willst, dann mach es lieber anders und setze das IF in einen schon vorhanden Div.
     
  5. Am Ende des Lateins

    Am Ende des Lateins Well-Known Member

    Registriert seit:
    10. Februar 2019
    Beiträge:
    136
    Zustimmungen:
    2
    Nee, was ich gemacht hatte, war: Deinen code in meine header.php einzufügen und in der css.style "body.old" davorzusetzen, sodaß dort jetzt heißt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Aber daß ich irgendetwas falsch gemacht habe, habe ich auch gerade bemerkt, denn z.B. dieser alte Beitrag (letzte Änderung: 19. Februar) wird im ersten Absatz nicht so angezeigt wie er soll:

    http://peter-nowak-journalist.de/2019/02/05/sind-eigentlich-alles-populisten/

    In welcher Datei denn und was ist ein body tag?

    Ich denke nicht, daß ich das unbedingt will.
     
  6. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.577
    Zustimmungen:
    278
    in der header.php gibt es einen body Tag, den solltest du bearbeiten ... nicht einfach nur 1:1 meinen Code übernehmen.
    der body Tag könnte bei dir evtl. so aussehen
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    den dann bearbeiten:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und da ich jetzt eine ID verwendet habe (statt einer class), dann folgendes CSS
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und tu dir einen Gefallen: wenn du das länger machen willst, lerne etwas HTML, CSS und PHP.
     
    #6 maxe, 1. März 2019
    Zuletzt bearbeitet: 1. März 2019
  7. Am Ende des Lateins

    Am Ende des Lateins Well-Known Member

    Registriert seit:
    10. Februar 2019
    Beiträge:
    136
    Zustimmungen:
    2
    Zu Letzterem: Mit "etwas" scheint es bei weitem nicht getan zu sein...; ohne "etwas" zu wissen, hätte ich nicht einmal eine Vorstellung, was möglich sein könnte und was für Fragen ich stellen muß. -

    Zum eigentlichen:

    1. Ich scheine es jetzt zu haben

    • sowohl dieser neue Artikel:
    http://peter-nowak-journalist.de/2019/03/01/sterndemo-gegen-verdraengung/

    • als auch dieser alte Artikel:
    http://peter-nowak-journalist.de/2019/02/05/sind-eigentlich-alles-populisten/

    sind jetzt im ersten Absatz so formatiert, wie sie formatiert sein sollen.


    2. Es hat aber reichlich gedauert, bis ich bemerkt hatte, daß in Deinem neuen code das Datum zunächst nicht mehr der 1.3., sondern der 5.2. war (die zwischenzeitliche Editierung habe ich erst unmittelbar vor dem Klick auf "Antwort erstellen" bemerkt) - weshalb ich mich gewundert hatte, warum z.B. der "Populisten"-Artikel vom 19. Februar zunächst nicht richtig formatiert war. Jetzt habe ich das Datum wieder auf den 1.3. geändert.
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    441
    Nicht böse sein, aber das ist eine hässliche Lösung. Ihr braucht doch auf gar kein Datum abstellen sondern nur prüfen ob das Lead Feld nicht leer ist.
     
  9. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.577
    Zustimmungen:
    278
    Warum kopierst du auch immer nur stumpf die Codes hier? Das meinte ich mit
    @mensmaximus Klar könnte man auch auf das Feld überprüfen, kommt aber doch letztendlich aufs selbe raus, wenn ab 1.3. strict das Feld befüllt wird.
     
  10. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    12.659
    Zustimmungen:
    1.987
    Um im Body Tag eigene Klassen zu ergänzen, bietet sich auch der body_class Filter an.

    Generell sollte man auf dem offensichtlich noch rudimentären Wissenstand von WordPress, PHP, HTML und CSS für solche Art Experimente eher ein eigenes Testblog hernehmen, meinetwegen einen Klon des bestehenden Blogs lokal oder auf irgendeiner Subdomain mit Passwortschutz, aber bitte nicht weiter so unbedarft an dieser live Seite herumbasteln, denn das dürfte kaum im Sinne des Webseiteneigentümers sein.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden