Wsparcie » Wtyczki » „NOWY” – informacja na artykule

Viewing 1 replies (of 1 total)
  • O wtyczce nie słyszałem, ale możesz sobie dodać taką oto prostą funkcje (do pliku funkctions.php), która np. doda ci klasę css do znacznika <article> (lub jakiego tam masz), dzięki czemu możesz sobie sformatować taki znacznik przy pomocy css, przypisując dodatkowe do niego style.

    Funkcja może wyglądać tak (najpierw trzeba zdobyć jakieś dane, na temat czasu:

    $czas = date_create( get_the_time( 'Y-m-d' ) ); // pobiera czas wpisu
     $teraz = date_create( current_time('Y-m-d') ); // pobiera aktualny czas
    $diff = date_diff( $czas, $teraz ); // oblicza różnicę
                    
    $diff = $diff->format( "%a" ); // zwraca różnicę w formie liczby (ilości dni)
                    
    if ( $diff > 30 ) echo 'większe';

    Jak już wiesz, że różnica wynosi wiecej niż 30 dni (nie kazdy dzień na 30 dni, no ale wiesz ;)), to możesz określić za pomocą funkcji warunkowej, czy dodać klasę czy nie, czy zrobić coś zupełnie innego, ale podstawę już masz.

    Możesz np wykorzystać zaczep filtra dopisując klase do funkcji post_class(),bo tak b było najprościej i wtedy wyjdzie Ci coś takiego:

    function czystespalanie_info__nowosc( $klasy_css ){
    
    $czas = date_create( get_the_time( 'Y-m-d' ) );
    $teraz = date_create( current_time('Y-m-d') );
    $diff = date_diff( $czas, $teraz );
    
    $diff = $diff->format( "%a" );
    
    	if ( $diff < 30 ) $klasy_css[] = 'nowość';
    	else $klasy_css[] = 'starość';
    		
    	return $klasy_css;
    }
    
    add_filter('post_class', 'czystespalanie_info__nowosc');

    Taką gotową funkcję wklejasz sobie do pliku functions.php a w style.css oprawiasz to sobie (klasę .nowosć) jak chcesz.

Viewing 1 replies (of 1 total)