• Gelöst donaldtrump

    (@donaldtrump)


    Ich habe ein interessantes Phänomen festgestellt, wp Version 4.2.7, Theme hieß „de Base“, ich habe es aber ziemlich abgespeckt, also Html und css fast komplett geändert für meinen Bedarf. Seite ist noch auf localhost. Browser Firefox 45 oder Safari 5.1 auf iMac 2.8 Intel Core i5, OSX 10.6.8

    ich habe auf einer Seite eine Linkliste angelegt, und habe dort untereinander rund 150 links gelistet. Wenn ich nun einen Link hinzufüge, blendet sich der blaue Button „Aktualisieren“ nach wenigen Sekunden aus, bevor ich mit der Linkbeschreibung vollständig fertig bin. Ich kann dann als Notlösung nur den Eintrag kopieren, die Seite neu laden („Seite verlassen“) und dann wieder reinkopieren und schnell aktualisieren, bevor der Button wieder inaktiv wird.

    Ich schätze mal, das liegt vielleicht an der Menge des Textes (der Links) auf der Seite, kann WordPress das nicht vertragen? Außer den Links ist auf der Seite sonst nichts.

    Ich möchte noch Zeilen hinzufügen, bevor ich eine zweite Seite anlege für die Verlängerung der Linkliste. Also so wie es ist nervt es natürlich.

    Als plugins habe ich nur „Platinum SEO Pack“ und seit kurzem „Posts in Sidebar“ aktiviert, aber das Phänomen existierte auch schon vorher. (nee bei Platinum bin ich mir nicht sicher – kann man das deaktivieren, ohne daß die dortigen Einträge verloren gehen?
    Bin gespannt ob dieses Phänomen schon mal jemand feststellen konnte.

Ansicht von 4 Antworten – 16 bis 19 (von insgesamt 19)
  • Sorry, dass ich mich erst jetzt wieder melde.
    Ich war am Wochenende „kurz außer Haus“. 😉

    Der Thread ist inzwischen recht üppig geworden, zeigt aber nach meinem Verständnis ein paar Dinge, die leicht schief laufen können.

    Grundregel Nr. 1 ist, nie und unter gar keinen Umständen Änderungen an den Dateien des WordPress-Core zu machen, da solche Änderungen später kaum noch nachzuvollziehen sind und – wie in diesem Fall – Aktualisierungen (mit denen zwangsläufig alle Änderungen am Core überschrieben würden) unmöglich machen. Die Folge ist nicht nur, dass man an neuen Features nicht teilhaben kann, sondern die Website auch noch potentiell gefährdet ist, weil Sicherheitslücken nur durch eine Aktualisierung geschlossen würden.

    Um Änderungen am Core überflüssig zu machen, bietet WordPress jede Menge Schnittstellen (Hooks) an, über die Funktionalität geändert werden kann. Das ist aber auch kein Selbstläufer: Hat man eine Funktion des Core weitgehend übernommen und mit eigenen Funktionen ersetzt, greifen auch Aktualisierungen der Funktion im Core nicht mehr. Hier wird auch klar, weshalb ältere Themes, die zwei Jahre oder länger nicht mehr gepflegt wurden, zumindest hinterfragt werden sollten (und vorsichtshalber aus dem offiziellen Theme Repository herausgenommen werden, zumal sie nicht unbedingt repräsentativ sind und den aktuellen Anforderungen des Theme Review Teams entsprechen dürften.

    Bei Themes verhält es sich ganz ähnlich: Änderungen im Theme selbst werden mit dem nächsten Update überschrieben – ein kurzfristiges Vergnügen. Nicht zu aktualisieren ist auch keine Lösung. Folglich wird immer wieder empfohlen, ein Child Theme anzulegen, wenn die Anpassungen über Änderungen am Stylesheet oder einer bestimmten Funktion hinaus gehen.

    Die Umbenennung eines Themes, z.B. in „Mein schickes Child Theme“, macht aus einem Theme leider noch keinen Ableger eines anderen Themes; es hat halt nur einen anderen Namen. Es ist auch verkehrt, ein Theme zu kopieren und im Theme Header das Original als Template anzugeben. Statt dessen sollen Child Themes ja eine Ergänzung sein und nur dort eingreifen, wo vom Parent Theme abgewichen werden soll. Die bereits genannte Problematik, dass (notwendige) Änderungen (z.B. um Sicherheitslücken zu schließen), nicht automatisch in eine eigene Funktion übernommen werden, gilt auch für Themes. Dazu gibt es interessante Informationen von Torsten Landsiedel.

    Ich war selber überrascht, wie viel man tatsächlich alleine mit einem eigenen Style Sheet ändern kann und vermeide zunächst Child Themes. Wenn es nicht anders geht, schreibe ich aber natürlich auch lieber ein Child Theme, statt im Theme selbst Änderungen vorzunehmen und damit eine Aktualisierung „wenig wartungsfreundlich“ zu gestalten.

    @donaldtrump:
    Zu deiner konkreten Frage: die Funktion sollte in einer Datei functions.php (mit „c“!) stehen, vielleicht liegt es schon daran? Ansonsten habe ich die Schritt, die zum Erstellen eines Child Themes nötig sind, schon einmal kurz beschrieben.

    Thread-Starter donaldtrump

    (@donaldtrump)

    Ok wie man ein child-theme anlegt, verstehe ich im Prinzip. Ich habe jetzt auch das Original-Theme auf meiner Festplatte wiedergefunden, (weiter oben hatte ich erwähnt, daß es mir nicht mehr zur Verfügung steht).

    Meine Ausgangssituation ist natürlich jetzt die, daß die ganze Site schon (unter einem abgeänderten Theme-Namen) läuft. (auf localhost) Gibt es dadurch eventuell Komplikationen oder muß man da zusätzlich was berücksichtigen?

    Wie ist nun die Vorgehensweise, wenn ich

    • eigene templates angelegt habe (statt 3 templates im Original habe ich fast 20 eigene angelegt)
    • z.B. Änderungen in header.php, page.php und index.php gemacht habe
    • eigene sidebars angelegt habe (statt der 2 sidebars im Original-theme habe ich ca. 20 eigene angelegt)
    • 1 banner-ordner mit entsprechendem js-Ordner ist hinzugekommen

    Lege ich die Dateien/Ordner einfach auch (wie die geänderte css+functions) in den child-theme-Ordner und das wärs?

    Ok ich könne es ausprobieren, aber man produziert ja manchmal ziemlich schnell Salat und mit einem Tip könnte ich das vielleicht vermeiden!

    1. Backup machen
    2. lokale Testumgebung aufsetzen
    3. Backup dort wiederherstellen
    4. Child Theme anlegen – im Prinzip nur functions.php und style.css
    5. nach und nach Templates rüberziehen und schauen, wie die sich mit der Installation vertragen. Kritisch wird es eigentlich (abgesehen von groben Programmierfehlern) nur dann, wenn du Funktionsnamen wiederholst und das Parent Theme diese Funktionsnamen nicht „pluggable“ gemacht hat.
    6. alles testen, danach Backup machen
    7. Theme und Child Theme auf Zielserver übertragen

    JavaScript solltest du per wp_enqueue_script() einbinden, da sonst Konflikte vorprogrammiert sind.

    Thread-Starter donaldtrump

    (@donaldtrump)

    Problem gelöst, danke!

Ansicht von 4 Antworten – 16 bis 19 (von insgesamt 19)
  • Das Thema „Aktualisierungs-Button auf "Neue Seite erstellen" wird inaktiv.“ ist für neue Antworten geschlossen.