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

Individuelle Zeitrechnung

Dieses Thema im Forum "Konfiguration" wurde erstellt von Stine1900, 6. Januar 2015.

  1. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo Forum,

    ich suche eine automatische individielle Zeitrechnung für mein Wordpress, die z.B. mit 1960 anfängt.

    Ich habe bereits die angeboteten Add Ons durchforstet, konnte aber nichts finden. Das ganze händisch zu ändern ist mir zu viel für jeden einzelnen Beitrag.

    Gibt es da eine Lösung bzw. kennt jemand ein passende Add On, das das kann?

    Vielen Dank!
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    Kannst Du ein wenig genauer erklären was Du damit vor hast und welche Plugins Du ausprobiert hast?
     
  3. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo mensmaximus,

    ich habe noch kein Plugin probiert, da ich gar nicht erst eines finden konnte, das mir diese Funktion anbietet.
    Es gibt zwar verschiedene Zeitrechnungssysteme für Wordpress (budh. Kalender etc.), aber diese erlauben auch keine individuelle Anpassung.


    Ok, folgendes habe ich vor:

    Am Ende meiner jeweiligen Beträge steht das Verfassungsdatum. Also z.B. 06.01.2015.
    So wie auch im Header und im Footer die aktuelle Zeit ausgegeben werden.

    Ich möchte also, dass die Jahreszahl anstatt 2015 z.B. 1950 ist. Also Beitrag verfasst am 06.01.1950. Dementsprechend auch das aktuelle Datum X.X.1950.
    Nächstes Jahr soll dann dementsprechend dort 1951 stehen.
     
  4. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    Die Jahreszahl soll sich nur in der Ausgabe ändern oder bereits in dieser Form bei der Erstellung des Artikels in der Datenbank gespeichert werden?
     
  5. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Nur in der Ausgabe reicht vollkommen.
     
    #5 Stine1900, 6. Januar 2015
    Zuletzt bearbeitet: 6. Januar 2015
  6. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Wie ich es bis jetzt gelöst habe:

    Im Header mit dem aktuellen Datum:

    <div id="zeit">Ausgabe: <?php $datum = date_i18n('l'); echo $datum; ?>, den <?php $datum = date_i18n('j'); echo $datum; ?>. <?php $datum = date_i18n('F'); echo $datum;; ?> 1905</div>


    In den Beiträgen mit:

    <p>erstellt am: <?php the_date('d.m.1904'); ?>



    Wenn ich nun aber einen neuen Beitrag erstelle, habe ich dort immernoch 1904. Ändere ich ihn in meinem Template auf 1905 wären ja alle in der Vergangenheit geschriebenen Beiträge dann auch 1905, obwohl sie ja 1904 verfasst wurden.

    Ich hoffe, das lichtet das Chaos etwas.
     
  7. HerrMittwald

    HerrMittwald Active Member

    Registriert seit:
    8. Dezember 2014
    Beiträge:
    43
    Zustimmungen:
    0
    Hi Stine1900,

    wenn ich dich richtig verstehe wäre hier das manuelle Eingeben des Datums bei Veröffentlichung möglich? Man kann WordPress-Artikel ja für die Zukunft planen, aber auch rückdatieren, wenn ich mich nicht irre. Also bei Veröffentlichung sagen "Veröffentlichungsdatum ist 02.04.1960.

    Wäre das Problem damit nicht geklärt? Du müsstest zwar immer das aktuelle Jahr im Blick behalten (in deinem Beispiel 1904), aber umstellen musst du dich ja nur einmal im Jahr.

    Poste gerne den Link zur Seite. Ich würde gerne mal sehen, wo du die Funktion verwendest :).

    Gruß,
    HerrMittwald
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    Proof of Concept

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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.
     
  9. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    @mensmaximus

    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.


    @HerrMittwald

    stimmt, warum bin ich nicht selbst darauf gekommen. Ich bin aber auch nicht davon ausgegangen, dass man die Einträge tätsächlich so weit zurückdatieren kann. Da man das nur einmalig bei der Erstellung des Beitrags machen muss, ist das ja auch kein Mehraufwand.

    Eine automatische Lösung wäre natürlich toll, aber sollte das nicht machbar sein, ist das eine sehr gute Alternative.

    Ach so. Der Link zu dem Blog.
     
  10. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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.
     
  11. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    @HerrMittwald

    Ich habe es probiert, und es funktioniert leider doch nicht. Das früheste Datum ist 1970 (schon fast gedacht, aufgrund UNIX). Ändert man auf ein früheres Datum, springt es wieder auf 1970 zurück.

    @mensmaximus

    ah, gut dann habe ich es - jetzt - verstanden.
     
    #11 Stine1900, 6. Januar 2015
    Zuletzt bearbeitet: 6. Januar 2015
  12. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Nachtrag: Auch die einzelnen Posts tragen nach probeweisem Codezufügen in der functions.php das Datum „1970“.
    Der Server mag anscheinend keine pre-Unix-Urknall-Daten.
     
  13. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    4.508
    Zustimmungen:
    55
    Hallo,

    Ich mag Datumsberechnungen mit PHP :) eine der besten - wenn nicht sogar die beste Lib ist im Datenbankabstrationslayer ADODB.

    Mit etwas PHP Kenntnissen:
    kann man die Lib
    https://github.com/r23/MyOOS/blob/master/shop/includes/lib/adodb/adodb-time.inc.php

    wunderbar für Daten vor 1970 verwenden. Selbstverständlich ohne den Datenbank Layer.

    Die Lib verwendet auch PEAR::Date_Calc - damti ist auch:

    [TABLE="class: highlight tab-size-8 js-file-line-container"]
    [TR]
    [/TR]
    [TR]
    [TD="class: blob-code js-file-line"][/TD]
    [/TR]
    [/TABLE]

    Viel Spass beim PHP Scripten.

    Ralf
     
  14. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    Ein Datum vor 1970 ist kein Problem. Das Problem sind die Funktionen in WordPress. Mit folgender nativer Umsetzung geht es:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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.
     
  15. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.279
    Zustimmungen:
    558
    Man könnte noch bei den ersten beiden Filtern die entspr. vorhandenen Parameter benutzen. Dann kommt man keinen evtl. vorhandenen anderen Filtern in die Quere...
     
  16. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    7.913
    Zustimmungen:
    247
    Könnte man machen. Allerdings wird keiner in den Funktionen verwendet, weil entweder leer bzw. nicht vorhanden (Post ID) oder unbrauchbar (Datumsangabe bei nicht englischer Formatierung).
     
  17. Stine1900

    Stine1900 Member

    Registriert seit:
    6. Januar 2015
    Beiträge:
    8
    Zustimmungen:
    0
    @mensmaximus
    Vielen herzlichen Dank für Deine Mühe!
    Zwischenzeitlich habe ich in englischen Foren gesucht (nicht mehr nach date/time/whatever) sondern pre-unix dates und habe das
    Plugin „Advanced Dates„ gefunden, welches eben Daten vor 1970 entweder per Post oder übergreifend (per Differenzeigabe) ermöglicht. Falls jemand noch mal sowas suchen sollte :)
     
  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