Autorzy serwisu Wykop udostępnili na łamach serwisu różnego rodzaju wklejki, które po umieszczeniu na blogach/stronach www mają zachęcać użytkowników do wykopywania danego materiału. Wszystko jest ładnie, pięknie i w ogóle cacy, ale… dlaczego wszystko jest napisane w JavaScript?
Jako człowiek starający się w miarę możliwości nie umieszczać na stronach skryptów JS, przepisałem całą Wykopywarkę w PHP :)
Standardowo kod Wykopywarki wygląda następująco:
<script language="javascript"> // wykopywarka wersja standardowa (72x65) var wykop_url=location.href; // Link do strony var wykop_title=document.title; // Tytuł strony (pobierany z <title>) var wykop_desc=encodeURIComponent('Przykładowy opis'); var widget_bg='FFFFFF'; var widget_type='normal'; var widget_url='http://www.wykop.pl/widget.php?url='+(wykop_url)+'&title='+(wykop_title)+'&desc='+(wykop_desc)+'&bg='+(widget_bg)+'&type='+(widget_type); document.write('<div><iframe src="'+widget_url+'" style="border:none;width:72px;height:65px;overflow:hidden;margin:0;padding:0;" frameborder="0" border="0"></iframe></div>'); </script>
Koszmar, prawda? ;) Jeżeli tylko mamy do dyspozycji serwer obsługujący PHP, możemy zastąpić ten kod obciążający przeglądarki naszych czytelników następującym kawałkiem kodu:
<?php $wykop_url = rawurlencode('http://więcek.pl'); $wykop_title = rawurlencode('IT z ogonkiem'); $wykop_desc = rawurlencode('Taki blog o IT - tyle, że z ogonkiem...'); $wykop_bg = 'ffffff'; $wykop_type = 'compact'; $wykop_widget_url = 'http://www.wykop.pl/widget.php?url='.$wykop_url.'&title='.$wykop_title.'&desc='.$wykop_desc.'&bg='.$wykop_bg.'&type='.$wykop_type; echo '<div><iframe src="'.$wykop_widget_url.'" style="border: none; width: 72px; height: 65px; overflow: hidden; margin: 0; padding: 0;" frameborder="0" border="0"></iframe></div>'; ?>
I proszę bardzo – cała Wykopywarka napisana w całości w PHP :)
Dla osób chcących umieścić tą Wykopywarkę na blogach opartych o WordPress, wrzucę jeszcze Wykopywarkę w wersji instant, której kod wystarczy wkleić gdzieś w szablonie bloga (w pętli) i już powinien działać :)
<?php $wykop_url = rawurlencode(get_permalink()); $wykop_title = rawurlencode(get_the_title()); $wykop_desc = rawurlencode(substr(strip_tags(get_the_content()), 0, 347).'...'); $wykop_bg = 'ffffff'; $wykop_type = 'compact'; $wykop_widget_url = 'http://www.wykop.pl/widget.php?url='.$wykop_url.'&title='.$wykop_title.'&desc='.$wykop_desc.'&bg='.$wykop_bg.'&type='.$wykop_type; echo '<div><iframe src="'.$wykop_widget_url.'" style="border: none; width: 72px; height: 65px; overflow: hidden; margin: 0; padding: 0;" frameborder="0" border="0"></iframe></div>'; ?>
Mam nadzieję, że komuś z Was to się przyda :) A przykład zastosowania przytoczonego tutaj kodu możecie zobaczyć poniżej (można sobie nawet kliknąć i zobaczyć, jak działa;)

Łukasz, zauważ, że JavaScript jest w tym wypadku wygodniejsze, gdyż można wykopać znalezisko bez potrzeby przeładowania strony.
Niee – tak, czy siak musisz otworzyć stronę Wykopu, żeby móc coś kopnąć :)
A co jest złego w JavaScripcie, bo nie rozumiem?
Może w następnej notce zobaczymy google analitycs w wersji php? ;)
Popracuj trochę na słabszej maszynie, to zrozumiesz co złego jest w JS ;) Każdy dodatkowy JS ładowany na stronie jest wtedy bardzo odczuwalny. Sam przez długi czas pracowałem na słabszym kompie, więc wiem jaka to katorga. Ale syty głodnego nie zrozumie :)
No i skrypt w wersji PHP nie jest uzależniony od ustawień przeglądarki użytkownika.
Niektórzy (nie rozumiem tego, ale tak już po prostu jest) wyłączają JS w swojej przeglądarce. I co wtedy? Jak biedaczyna ma wykopać wpis? A tak jej (względnie mu) to umożliwiamy… ;)
Witam,
Gdzie muszę wkleić kod, żeby ktoś mógł wykopać wpis? :)
Pozdrawiam.
Mówimy o WordPressie, tak? Najprościej – wklej ten kod w single.php po tej linijce:
< ?php the_content(); ?>
Gdzie chcesz, ważne, aby była w pętli.
Działa. Dzięki. :)
Nie miało prawa nie działać ;)
Polecam się na przyszłość :)