Support » Allgemeine Fragen » Anzahl Jahre im Text ausgeben

  • Gelöst Behaviorist

    (@behaviorist)


    Moin,

    ich möchte im Text (Beitrag oder Seite) ausgeben, wie lange beispielsweise ein Unternehmen existiert.

    Bsp.
    Unternehmen wurde 1970 gegründet. Nun kann ich im Text entweder besteht seit 1970 schreiben oder jedes Jahr die Anzahl der Jahre anpassen.

    Wir sind seit 49 Jahren für sie da. Die 49 soll sich von Jahr zu Jahr automatisch ändern.

    Kennt ihre eine Möglichkeit, mit der ich an einer beliebigen Stelle im Text, die Anzahl der Jahre dynamisch, bezogen auf ein Ursprungsdatum, ausgegeben kann?

    Vielen Dank.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Moderator Bego Mario Garde

    (@pixolin)

    Dafür kannst du einen Shortcode nutzen, den du entweder in die functions.php eines Child-Themes packst oder mit dem Plugin Code Snippets hinzufügst:

    function establ_shortcode( $atts ) {
    	$a = shortcode_atts(
    		array(
    			'year' => '',
    		),
    		$atts
    	);
    
    	if ( empty( $a['year'] ) ) {
    		return;
    	}
    	$current_year = date( 'Y' );
    	$time         = $current_year - intval( esc_attr( $a[ 'year' ] ) );
    	return $time;
    }
    add_shortcode( 'establ', 'establ_shortcode' );

    Du erhältst dann einen Shortcode, den du in laufenden Text einfügen kannst:
    Gegründet vor [establ year="2000"] Jahren. ergibt dann eine Ausgabe von

    Gegründet vor 20 Jahren.

    • Diese Antwort wurde geändert vor 1 Monat von Bego Mario Garde. Grund: Fehlende Hochkomma hinzugefügt
    Behaviorist

    (@behaviorist)

    WOW! Eine wirklich tolle und professionelle Lösung! Vielen Dank hierfür!

    Moderator Bego Mario Garde

    (@pixolin)

    Freut mich, wenn’s passt.
    Dann markieren wir den Thread doch als „gelöst“?

    Weil … 

    Wenn’s richtig läuft, es funktioniert,
    werden Themen als „gelöst“ markiert,
    damit auch alle in der Runde wissen,
    dass sie hier nicht mehr helfen müssen.
    🌻

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)