Sygnalizowanie nowości w WordPress

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.

news

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.

Komentarze:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

stat4u