Da sind mehrere Scripte nicht in Ordnung. Um das zu debuggen musst Du alle Plugins deaktivieren und testen. Geht es dann auch nicht ist ein Script im Theme schuld. Geht alles ohne Plugins musst Du ein Plugin nach dem anderen aktivieren und jeweils erneut testen bis Du das "böse" Plugin gefunden hast.
Beiträge von mensmaximus
-
-
Die Funktion ist neu in 2.2 und braucht noch viel Liebe. Aktuell ist sie kaum zu gebrauchen.
-
-
Deaktiviere alle Plugins und teste es erneut. Gerade seit WP 4.0 gibt es einige alte Plugins die mit Änderungen an der Mediathek nicht zurecht kommen.
-
-
Ich sag nur VI
Ansonsten UltraEdit wenns unter Windows sein soll. -
Ein Datum vor 1970 ist kein Problem. Das Problem sind die Funktionen in WordPress. Mit folgender nativer Umsetzung geht es:
Code
Alles anzeigenfunction mmx_fake_year_post_created() { global $post; $date = date_i18n( get_option( 'date_format' ), strtotime( "-65 year", strtotime( $post->post_date_gmt ))); return $date; } function mmx_fake_year_post_modified() { global $post; $date = date_i18n( get_option( 'date_format' ), strtotime( "-65 year", strtotime( $post->post_modified_gmt ))); return $date; } function mmx_fake_year_comment( $format, $id ) { $comment = get_comment( $id ); $date = date_i18n( get_option( 'date_format' ), strtotime( "-65 year", strtotime( $comment->comment_date_gmt ))); return $date; } function mmx_filter_fake_year() { if ( ! is_admin() ) { add_filter( 'get_the_date', 'mmx_fake_year_post_created' ); add_filter( 'get_the_time', 'mmx_fake_year_post_created' ); add_filter( 'get_the_modified_date', 'mmx_fake_year_post_modified' ); add_filter( 'get_the_modified_time', 'mmx_fake_year_post_modified' ); add_filter( 'get_comment_date', 'mmx_fake_year_comment' ); } } add_action('template_redirect', 'mmx_filter_fake_year');Falls auch the_date() und the_time() und sonstige erfasst werden sollen, müssen die Filter entsprechend in die Funktion mmx_filter_fake_year eingehängt werden.
Anstatt den _gmt Daten kann man natürlich auch die lokalen Zeiten nehmen, also post_date, post_modified und comment_date.
Die Filter werden nur im Frontend geladen, wenn ein Seite aufgebaut wird. Im Backend bleibt alles beim alten auch die Speicherung erfolgt mit normaler Zeit.
Die Archiv Slugs bleiben wie sie sind. Das zu ändern ist bedarf einer aufwendigen Anpassung und dürfte einige Funktionen durcheinander bringen.
Modifikationen und Optimierungen sind herzlich willkommen.
-
vielen herzlichen Dank!
ich habe den Code jetzt in die functions.php eingefügt (war doch richtig?) und im header dann
<?php $datum = date_i18n('Y'); echo $datum; ?> stimmt das so? - wahrscheinlich nicht, denn ich erhalte noch 2015 als Datum.In die functions.php ist richtig, aber der Code ist eine pre-alpha Version. Daher Proof of Concept. Es soll nur ein Weg gezeigt werden wir man das Datum anpassen kann. Im jetzigen Stadium werden nur Datumsangaben im Loop (Posts) verändert. Wie ich geschrieben habe ist das aber noch mit Fehlern behaftet. Das sieht man z.B. im Quelltext, man achte auf die HTML Datumsausgabe und die datetime im time Tag.
Code<time class="date-container minor-meta updated" itemprop="datePublished" datetime="6. Januar 1950">1. Januar 1905</time>Unklar ist auch noch welche Auswirkungen die Änderung in Archiven hat, wenn man den Loop verändert. Das Archiv für November 2014 zeigt jetzt alle Posts mit Datum November 1949. Der Slug bleibt aber /2014/11.
-
Proof of Concept
Code
Alles anzeigenadd_action('loop_start', 'mmx_filter_fake_year'); function mmx_filter_fake_year() { add_filter( 'the_date', 'mmx_fake_year' ); add_filter( 'the_time', 'mmx_fake_year' ); add_filter( 'the_modified_date', 'mmx_fake_year' ); add_filter( 'get_the_date', 'mmx_fake_year' ); add_filter( 'get_the_time', 'mmx_fake_year' ); add_filter( 'get_the_modified_date', 'mmx_fake_year' ); add_filter( 'get_comment_date', 'mmx_fake_year' ); } function mmx_fake_year( $date ) { if ( !is_home() && !is_archive() && !is_single() ){ return $date; } else { $newdate = date( get_option('date_format'), strtotime( "-65 years", strtotime( $date ))); return $newdate; } }Für die Anzeige eines Datums funktioniert es. Nur beim Speichern (erstellen von Beiträge) geht es noch nicht, muss ich noch drüber nachdenken.
-
Wieso denn das?
Das fragt sich die PHP Entwickler Szene auch.
-
Die Jahreszahl soll sich nur in der Ausgabe ändern oder bereits in dieser Form bei der Erstellung des Artikels in der Datenbank gespeichert werden?
-
Danke für den Erklärungsversuch. Ich verstehe es immer noch nicht.
-
Erstelle eine Datei, z.B. phpinfo.php und schreibe folgenden Code hinein
Speicher die Datei im Hauptverzeichnis ab und rufe Sie im Browser auf. Dort wird Dir dann angezeigt welche PHP Version läuft.
Falls wirklich 5.4.x läuft ändert eine Umstellung auf 5.5 bezüglich des Fehlers wahrscheinlich nichts. Grundsätzlich sollest Du immer die aktuellste PHP Version verwenden. Ob allerdings alle Plugins damit laufen kann ich Dir nicht sagen. Tatsächlich gibt es alte Plugins die mit neuen PHP Versionen nicht zurecht kommen.
PS.: Die oben erstellte Datei bitte nach dem Test wieder löschen
-
Bitte lese die Anleitung um ein Childtheme zu erstellen. Den Link hatte ich extra mit gepostet, weil ich mir schon dachte das diese Frage aufkommt.
-
Das solltest Du den Entwickler fragen.
-
Es wäre natürlich zu praktisch, wenn PHP beim Laden der Scripts auf ein BOM prüfen würde und das auch als BOM und nicht als Text behandelt.Das Thema begleitet uns seit Jahren. Zwischendurch wurde ein Fix für PHP 6 in Aussicht gestellt. Später wurde das Feature aber wieder auf "Wont Fix" gesetzt.
-
Entweder unten anfügen oder, falls bereits eine Regel für die Klasse existiert, diese anpassen. Wichtig ist, dass es in einem Chilttheme gemacht wird.
-
Im Editor beim erstellen einer Seite oben rechts auf Optionen klicken. Dort die Option "Diskussion" aktivieren. Am Ende der Editorseite kannst Du dann für jede Seite individuell Kommentare erlauben bzw. sperren
-
In der style.css eines Childtheme folgende CSS regel eintragen:
-
Kann es sein, dass Du PHP in der Version 5.2 verwendest? Dann wäre der Fehler erklärbar.