• Hallo zusammen

    Ich hab da mal was Grundsätzliches zum CSS. Ich hab da die Klasse ‘.post-title’. Wenn ich Diese im ‘Custom CSS’ anpasse, so wird das sauber übernommen. Auch von anderen Browsern.

    Auf der verlinkten Seite sollte der Titel unter dem Beitragsbild wie die Folgenden in einer Schrift dargestellt werden die weit von was Times-ähnlichem entfernt ist.

    Da ich eine Multisite mit 5 SubDomains betreibe, möchte ich das ungern 5x so anpassen. In der header.php lade ich diverse CSS-Dateien für die Klassen die überall gelten sollen. Wenn ich meine Änderungen aber da rein schreibe, wird der Titel nach den Angaben aus dem Parent Theme formatiert. Das obwohl diese Dateien nach dem Custom CSS als letztes geladen werden. Das macht für mich keinen Sinn. Nach meinem Verständnis überschreibt die letzte Anweisung alle vorangegangenen.

    Hab ich da einen Denkfehler? Wenn ich den Quelltext verfolge wird die Anweisung wie erwartet geladen. Cache hab ich mehrfach gelöscht. Beim Ändern im Custom geht es auch ohne.

    Gruß René

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)
  • Moderator threadi

    (@threadi)

    Gehe ich recht in der Annahme, dass in der Multisite das gleiche Theme bei jeder Webite verwendet wird? Und dieses Theme ist eines was du selbst entwickelt hast oder ist ein Child-Theme um das du dich selbst kümmerst?

    Wie sieht der Code in der header.php aus? Ich vermute du hast dort den gewünschten CSS-Code hinterlegt. Ich sehe ihn aber im Frontend nicht im Quellcode.

    Der sauberste Weg wäre übrigens, wenn du solche CSS-Anpassungen in der style.css vom Theme hinterlegst. Wenn du das Theme ohnehin selbst entwickelst und es in allen Websites verwendest, wäre das der sauberste Weg.

    Übrigens hast Du hier im Forum vermutlich bisher keine Antwort erhalten, da hier eher Anwenderfragen beantwortet werden. Du entwickelst jedoch offenbar selbst etwas, was nicht Zielsetzung des Forums ist. Für Entwickler gibt es z.B. hier eines: https://wordpress.stackexchange.com

    Thread-Starter René A. Da Rin

    (@radarin)

    Ja, auf allen Seiten das selbe Theme ‚Lovecraft‘ (kostenlos). Ich habe ein Child gemacht um Anpassungen einfacher vornehmen zu können.

    Das CSS lade ich in der header.php:

    <link rel="stylesheet" id="responsive-style-css-child" href="https://darin.ch/wp-content/themes/lovecraft-child/css/child/titel.css" media="all" />

    Andere Anweisungen die ich so integriere werden korrekt umgesetzt.

    .post-title { 
    font-family: Candal, Georgia, serif;
    font-size: 3em;
    line-height: 130%;
    font-weight: 700;
    color: #111;
    }

    Wenn ich das so in den Customizer einfüge wird es korrekt umgesetzt, lade ich es aus einer separaten Datei, dann nicht. Die Datei wird nach dem Customizer geladen.

    Andere Anweisungen aus der Datei werden umgesetzt. Ist einfach nicht logisch und nachvollziehbar.

    • Diese Antwort wurde geändert vor 1 Woche, 4 Tage von René A. Da Rin. Grund: Ergänzung
    Moderator threadi

    (@threadi)

    Die Datei titel.css wird nicht interpretiert da sie mit ungültigen Zeichen beginnt. Schau sie dir mal in der Browser-Entwicklerkonsole an, da sieht man:

    View post on imgur.com

    Du müsstest die Datei richtig speichern, idealerweise mit dem Zeichensatz UTF-8 ohne BOM. Kontrolliere dazu am besten auch alle anderen Dateien die du bisher bearbeitet hast, ich sehe das gleiche z.B. auch bei body.css.

    Ich würde dir weiterhin folgendes empfehlen:

    • Statt Stiles in einzelnen Dateien auszuliefern, würde ich die schon erwähnte style.css vom Theme selbst verwenden. In dieser kannst Du auch weitere CSS-Dateien per @import integrieren, wenn das für dich von der Verwaltung her besser ist. Die Dateien derart aufzusplitten kann sich negativ auf die Ladezeit der Seite auswirken, ist daher nicht zu empfehlen.
    • Der ausgegebene HTML-Code beginnt nicht mit dem Doctype sondern mit einem riesengroßen Kommentar. Ich würde dir dringend empfehlen den zu entfernen. Das hat ebenfalls wieder mehrere Gründe. Z.B. interpretieren Browser den Code der Seite dadurch nicht richtig, was zu Fehldarstellungen führen kann. Funktional schwierig wird es bei Social Media Plattformen oder anderen externen Tools. Die lesen gerne bestimmte Angaben vom HTML-Header, der aber nur bis zu einer bestimmten Zeilen- oder Zeichen-Anzahl gelesen wird. Der Kommentar am Anfang deines Dokuments verhindert das.
    • Schau dir auch die von dir im Child-Theme verwendeten URLs an. Das sind oft feste URLs, mal mit und mal ohne HTTPS. Das führt zum Einen zu Ladefehlern, wodurch Bilder fehlen könnten. Zum Anderen ist es auch vom Datenschutz her problematisch, da aus Nutzersicht scheinbar Daten an Externe weitergegeben werden (die aufrufende IP z.B.). Auch hier solltest du unbedingt die URLs vereinheitlichen. Wenn Du mehrere Websites hast in denen DU das Child-Theme nutzt, würden vermutlich relative URLs ohne Domain ausreichend sein.

    Beachte auch nochmals, dass das hier keine Anwenderthemen sind sondern eher die Entwicklung und Programmierung betrifft. Schau dir unbedingt auch nochmal das Handbuch für Themes an: https://developer.wordpress.org/themes/

    Thread-Starter René A. Da Rin

    (@radarin)

    Danke Dir für die ausführliche Erläuterung.

    Die Dateien sind alle UTF-8. Ob mit oder ohne BOM kann ich auf die Schnelle gerade nicht erkennen. Werde das mal recherchieren. Die 4 ungültigen Zeichen sitzen vor dem ersten Zeichen in der Datei. Die existieren eigentlich gar nicht. Sowas hatte ich schon mal irgendwo. Konnte das damals nur lösen, indem ich eine Datei aus dem Parent dupliziert hatte und dann den Inhalt wieder rein kopiert habe.

    Das mit dem http:// muss ich mal vertieft ansehen. In den 4 Dateien des Child ist alles mit https://. Scheint aber als hätte ich da im Menu noch alte Einträge drin.

    Gruß und gute Nacht

    Thread-Starter René A. Da Rin

    (@radarin)

    Ich hab nun mal die CSS-Datei mit Atom neu gespeichert, jetzt scheint der BOM weg zu sein, jedenfalls funktioniert nun die Anzeige aus der externen Datei. Werde das nun mit dem Rest auch machen.

    Dein Tip war top, danke.

    Thread-Starter René A. Da Rin

    (@radarin)

    Das CSS statt über die header.php in der style.css und @import zu laden funktioniert teilweise, führt aber zu erheblichen Fehlern in meiner Konstellation. Ich werde das wieder rückgängig machen. Das Problem wurde mit dem entfernen der nicht vorhandenen Zeichen gelöst.

    Ladezeiten? Ehrlich? Gut gemeinter Hinweis, aber dafür ist meine Seite nicht wichtig genug. Mir ist die korrekte Darstellung wichtig. Ausserdem habe ich nicht den Eindruck dass sie langsamer lädt als Andere.

    Schönes Wochenende Euch Allen

Ansicht von 6 Antworten – 1 bis 6 (von insgesamt 6)