Dodaliście nowy wpis na blogu i chcielibyście, aby przy wpisie pojawił się obrazek „nowość” sygnalizujący użytkownikom, że wpis jest nowy. Chcecie, aby obrazek „new” przy wpisie widoczny był przez 24 godziny lub kilka dni od momentu jego dodania. Rozwiązania szukałem długo i w sumie znalazłem skrypt, który zmodyfikowałem dla potrzeb WordPressa.
Między znaczniki <head> </head>
wstaw:
<script type="text/javascript">
// <![CDATA[
function nowosc(dzien, miesiac, rok, godzina, minuta, napis, obrazek)
{
var obrazek_domyslny = '<?php bloginfo('template_url'); ?>/images/new.png';
var napis_domyslny = 'new'; // tekst alternatywny
if (typeof obrazek == 'undefined') obrazek = obrazek_domyslny;
if (typeof napis == 'undefined') napis = napis_domyslny;
if (typeof godzina == 'undefined') godzina = 0;
if (typeof minuta == 'undefined') minuta = 0;
if (new Date(rok, miesiac-1,dzien, godzina, minuta) > new Date()) document.write(obrazek ? '<img src="' + obrazek + '" alt="' + napis + '"' + (napis != '' ? ' title="' + napis + '"' : '') + ' />': napis);
}
// ]]>
</script>
UWAGA!
W miejscu var obrazek_domyslny = '<?php bloginfo('template_url'); ?>/images/new.png';
wstaw link do pliku graficznego. W powyższym przypadku odsyła do folderu z szablonem, a następnie do folderu „images” i pliku new.png.
Możecie też dodać własną klasę stylu do obrazka w tym miejscu:
<img class="nazwa_stylu" src="' + obrazek + '" alt="' + napis + '"' + (napis != '' ? ' title="' + napis + '"' : '') + ' />
.
W miejscu, w którym ma pojawić się obrazek sygnalizujący nowość wstaw kod:
<script>
// <![CDATA[
nowosc( <?php echo date_i18n( 'j,n,Y, G,i', get_the_time( 'U' ) + 1 * 86400 ); ?>);
// ]]>
</script>
UWAGA!
Zwróć uwagę na wartość 86400. To oznacza ile sekund ma być sygnalizowana nowość. W tym przypadku to jedna doba. Możecie ją zwiększyć bądź zmniejszyć według własnych potrzeb.