<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jacek Kołodziej — blog &#187; php</title>
	<atom:link href="http://blog.kolodziejj.info/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kolodziejj.info</link>
	<description>β</description>
	<lastBuildDate>Fri, 18 Jun 2010 10:38:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Widget Blogfroga a Feedburner</title>
		<link>http://blog.kolodziejj.info/2008/04/13/widget-blogfroga-a-feedburner/</link>
		<comments>http://blog.kolodziejj.info/2008/04/13/widget-blogfroga-a-feedburner/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 00:44:42 +0000</pubDate>
		<dc:creator>Unit03</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[blogfrog]]></category>
		<category><![CDATA[feedburner]]></category>

		<guid isPermaLink="false">http://blog.kolodziejj.info/2008/04/13/widget-blogfroga-a-feedburner/</guid>
		<description><![CDATA[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ę [...]]]></description>
			<content:encoded><![CDATA[<p>Niedawno zapragnąłem dodać na blog superwebdwazerowy <a href="http://pl.wikipedia.org/wiki/Wid%C5%BCet">widget</a> od <a href="http://blogfrog.pl/">Blogfroga</a>. Można u nich znaleźć <a href="http://blogfrog.pl/index.php/dokument/Dla_webmasterow">gotowy kod do szablonu wordpressa</a>, wystarczy wkleić i działa. No, działa, chyba że używamy <a href="http://feedburner.com/">FeedBurnera</a> z włączonymi statystykami wejść na stronę z feeda:</p>
<blockquote cite="http://blogfrog.pl/index.php/dokument/Dla_webmasterow"><p>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.</p></blockquote>
<p>A ja używam. I nie chcę odznaczać owych <em>Item link clicks</em>. Skutkuje to białą plamą zamiast panelu do głosowania. Co w takiej sytuacji można zrobić?</p>
<p>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 <em><a href="http://codex.wordpress.org/Template_Tags/get_permalink">get_permalink</a></em>. 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ć:</p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw1">if</span> <span class="br0">&#40;</span>get_post_meta<span class="br0">&#40;</span><span class="re1">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">,</span> <span class="st0">&#39;fbid&#39;</span><span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span> <span class="sy0">!=</span> <span class="st0">&#39;&#39;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;PERMALINK <span class="sy0">=</span> <span class="st0">&quot;http://feeds.feedburner.com/~r/kolodziejjblog/~3/&lt;?php echo get_post_meta($post-&gt;ID, &#39;fbid&#39;, true); ?&gt;/&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;/script&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> src<span class="sy0">=</span><span class="st0">&quot;http://blogfrog.pl/index.php/wpisy/glosowanie&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="br0">&#125;</span> <span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>Oczywiście <code>http://feeds.feedburner.com/~r/kolodziejjblog/~3/</code> zastępujemy własnym adresem feeda, tj. url&#8217;em każdego itema w feedzie, poza ostatnią częścią (<code>numer/</code>). Zrobiłem tak dla wygody, aby wklejać sam numer a nie cały URL. <strong>Gdzie wklejać?</strong></p>
<p>Wordpress oferuje, przy pisaniu wpisu, taką rzecz jak <em>Pola użytkownika</em>. Tam w polu <em>Klucz</em> wpisujemy, zgodnie z powyższym kodem, <code>fbid</code>, natomiast w polu <em>Wartość</em> wklejamy tą wyciętą, ostatnią część URLa z FeedBurner&#8217;owego feeda, czyli sam numer (ponieważ ostatni slash jest już w szablonie). Wtedy instrukcja <code>&lt;?php echo get_post_meta($post-&gt;ID, fbid, true); ?&gt;</code> wstawi numer w szablon, który właśnie uzupełniliśmy. Wszystko otoczone instrukcją warunkową sprawdzającą, czy ustawiliśmy pole <code>fbid</code> &#8211; jeśli nie, bo np. tak jak w moim przypadku, starsze wpisy nie znalazły się jeszcze w FeedBurner&#8217;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.</p>
<p>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 <code>fbid</code>. Daje nam to jednak pewność, że &#8211; o ile nic nie pomyliliśmy &#8211; 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).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kolodziejj.info/2008/04/13/widget-blogfroga-a-feedburner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
