Niedawno zapragnąłem dodać na blog superwebdwazerowy widget od Blogfroga. Można u nich znaleźć gotowy kod do szablonu wordpressa, wystarczy wkleić i działa. No, działa, chyba że używamy FeedBurnera z włączonymi statystykami wejść na stronę z feeda:

Narzędzia takie jak Feedburner zmieniają adresy notek w kanale RSS (przekierowanie) przez co Blogfrog nie rozpoznaje, że ma taką notkę już zaindeksowanę. Możesz odznaczyć Item link clicks w FeedBurner Stats lub ręcznie ustawiać adres dla każdej notki.

A ja używam. I nie chcę odznaczać owych Item link clicks. Skutkuje to białą plamą zamiast panelu do głosowania. Co w takiej sytuacji można zrobić?

Na początku przyszło mi do głowy, czy nie dałoby się jakoś automagicznie pobrać z FeedBurnera wygenerowanego przez niego adresu wpisu, na podstawie np. tytułu czy dokładnego czasu publikacji wpisu i dynamicznie wklejać go zamiast tagu get_permalink. Niczego takiego jednak tam nie znalazłem. Rozwiązanie drugie, już w pełni działające, co widać w sekcji Meta pod postem, kawałek niżej. W szablonie należy umieścić:

  1. <?php if (get_post_meta($post->ID, 'fbid', true) != '') { ?>
  2. <script type="text/javascript">
  3.  PERMALINK = "http://feeds.feedburner.com/~r/kolodziejjblog/~3/<?php echo get_post_meta($post->ID, 'fbid', true); ?>/"
  4. </script>
  5. <script type="text/javascript" src="http://blogfrog.pl/index.php/wpisy/glosowanie"></script>
  6. <?php } ?>

Oczywiście http://feeds.feedburner.com/~r/kolodziejjblog/~3/ zastępujemy własnym adresem feeda, tj. url’em każdego itema w feedzie, poza ostatnią częścią (numer/). Zrobiłem tak dla wygody, aby wklejać sam numer a nie cały URL. Gdzie wklejać?

Wordpress oferuje, przy pisaniu wpisu, taką rzecz jak Pola użytkownika. Tam w polu Klucz wpisujemy, zgodnie z powyższym kodem, fbid, natomiast w polu Wartość wklejamy tą wyciętą, ostatnią część URLa z FeedBurner’owego feeda, czyli sam numer (ponieważ ostatni slash jest już w szablonie). Wtedy instrukcja <?php echo get_post_meta($post->ID, fbid, true); ?> wstawi numer w szablon, który właśnie uzupełniliśmy. Wszystko otoczone instrukcją warunkową sprawdzającą, czy ustawiliśmy pole fbid - jeśli nie, bo np. tak jak w moim przypadku, starsze wpisy nie znalazły się jeszcze w FeedBurner’owym feedzie i siłą rzeczy nie mamy do nich URLi, widget w ogóle się nie pojawi, nie zaśmiecając layoutu białym polem.

Tak więc chyba jedyną wadą takiego rozwiązania jest to, że przy pisaniu każdego wpisu musimy zajrzeć do własnego feeda, odczekaniu chwili, aż pojawi się tam nasz wpis, skopiowaniu URLa do niego i wklejenie jego numeru jako pole fbid. Daje nam to jednak pewność, że - o ile nic nie pomyliliśmy - widget będzie działał sprawnie (przypominam, że Blogfrogowi zajmuję chwile czasu, aż sam zindeksuje item, więc widget zadziała również dopiero po chwili).

Jedna odpowiedź na “Widget Blogfroga a Feedburner”

  1. mojtrening.blox.pl napisał(a):

    Potrzebuje skryptu do oceny moich notek przez użytkowników. 2658647 - prosze przesłać. Dzięki.

Zostaw komentarz

Linie i akapity są dzielone automatycznie, adres e-mail nie będzie wyświetlany, dostępne tagi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .