<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2polishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>WebTuts</title>
	
	<link>http://webtuts.pl</link>
	<description>Prosto o Wordpressie - tuotriale, porady, wtyczki, szablony</description>
	<lastBuildDate>Tue, 24 Apr 2012 08:56:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/WebTutsPl" /><feedburner:info uri="webtutspl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.newsgator.com/images/ngsub1.gif">Zapisz w NewsGator Online</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/WebTutsPl" src="http://www.bloglines.com/images/sub_modern11.gif">Zapisz w Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.netvibes.com/img/add2netvibes.gif">Dodaj do netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://buttons.googlesyndication.com/fusion/add.gif">Dodaj do Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FWebTutsPl" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Wyszukiwanie zdjęć na bloga – lepszy sposób</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/pEV2Bikq6CY/</link>
		<comments>http://webtuts.pl/wyszukiwanie-zdjec-na-bloga-lepszy-sposob/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 08:56:21 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Porady]]></category>
		<category><![CDATA[Wtyczki]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1459</guid>
		<description><![CDATA[<p>Dobrze dobrane zdjęcie zachęca czytelnika do kliknięcia w link i zapoznania się z pełną treścią artykułu. Jednak wyszukiwanie darmowych zdjęć z odpowiednią licencją, to często żmudne i czasochłonne zadanie. Zdjęcia należało je ściągnąć na swój komputer, a następnie wgrać na &#8230; <a href="http://webtuts.pl/wyszukiwanie-zdjec-na-bloga-lepszy-sposob/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<div id="attachment_1468" class="wp-caption alignleft" style="width: 160px"><a href="http://webtuts.pl/wp-content/uploads/2012/04/willow_and_the_mac.jpg" rel="lightbox[1459]"><img class="size-thumbnail wp-image-1468 " title="Kot i komputer" src="http://webtuts.pl/wp-content/uploads/2012/04/willow_and_the_mac-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">   							<span class='pdrp_captionAttribution pdrp_sharedCaption'>								<a title='Photo added to WordPress via PhotoDropper' class='pdrp_link pdrp_visitLink' href='http://www.photodropper.com/'>photo</a>:								<a href='http://flickr.com/16725630@N00/393522910' target='_blank' class='pdrp_link pdrp_attributionLink'>									Threat to Democracy</a>							</span>						</p></div>
<p>Dobrze dobrane zdjęcie zachęca czytelnika do kliknięcia w link i zapoznania się z pełną treścią artykułu. Jednak wyszukiwanie darmowych zdjęć z odpowiednią licencją, to często żmudne i czasochłonne zadanie. Zdjęcia należało je ściągnąć na swój komputer, a następnie wgrać na bloga, pamiętając o ręcznym dodaniu linku zwrotnego do autora. Wszystkie te czynności może za nas wykonać również odpowiednia wtyczka. W tym wpisie chciałam Wam przedstawić dwie z nich.<br />
<br class="clear" /></p>
<h2>Compfight (<a href="http://wordpress.org/extend/plugins/compfight/">pobierz</a>)</h2>
<p>Słyszeliście o stronie <a href="http://compfight.com">compfight.com</a>? Jest to popularny serwis, z pomocą którego efektywnie przeszukacie zasoby zdjęć umieszczonych na Flickrze. A z pomocą niedawno opublikowanej wtyczki Compfight można wyszukiwać i wstawiać zdjęcia wprost z poziomu edycji wpisu w panelu WordPress.</p>
<div id="attachment_1490" class="wp-caption alignleft" style="width: 142px"><a href="http://webtuts.pl/wp-content/uploads/2012/04/compfight_icon.jpg" rel="lightbox[1459]"><img class="size-full wp-image-1490" title="Compfight - ikonka" src="http://webtuts.pl/wp-content/uploads/2012/04/compfight_icon.jpg" alt="Compfight - ikonka" width="132" height="25" /></a><p class="wp-caption-text">Compfight - ikonka</p></div>
<p>Po instalacji i aktywacji, podczas edycji wpisu nad edytorem pojawi się nowa ikonka. Jej kliknięcie wywołuje okienko, w którym wyszukujemy zdjęcia, a następnie jednym kliknięciem wstawiamy je do wpisu. Należy zauważyć, że zdjęcia nie zostaną pobrane i zapisane na naszym serwerze. Klikniecie w zdjęcie spowoduje przejście do serwisu Flickr.</p>
<p><span style="font-size: 11px;"><a href="http://webtuts.pl/wp-content/uploads/2012/04/compfight_search.jpg" rel="lightbox[1459]"><img class="alignnone size-full wp-image-1491" title="Compfight - wyszukiwanie" src="http://webtuts.pl/wp-content/uploads/2012/04/compfight_search.jpg" alt="Compfight - wyszukiwanie" width="640" height="433" /></a></span></p>
<p>A tak wygląda zdjęcie i podpis dodane za pomocą wtyczki Compfight:</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/comfight_photo.jpg" rel="lightbox[1459]"><img class="alignnone size-full wp-image-1493" title="Compfight - zdjęcie" src="http://webtuts.pl/wp-content/uploads/2012/04/comfight_photo.jpg" alt="Compfight - zdjęcie" width="522" height="111" /></a></p>
<p>W przypadku tej wtyczki, już w edytorze widoczny jest podpis pod zdjęciem. Jak widzicie zawiera on link do oryginalnego zdjęcia w serwisie Flickr oraz link do strony wtyczki Compfight (w tym momencie można go łatwo usunąć, jeśli sobie go nie życzysz).</p>
<p>Warto jeszcze wspomnieć, że wtyczka ma również panel z opcjami w Ustawieniach. Ustwień jest bardzo niewiele &#8211; z ważnych możemy m.in wybrać jakiego rodzaju licencja na zdjęcia nas interesuje, oraz mamy limitowane ustawienia rozmiaru wstawianych zdjęć (niezwiązane w żaden sposób z ustawieniami dla mediów w WordPressie).</p>
<h2>PhotoDropper (<a href="http://wordpress.org/extend/plugins/photo-dropper/">pobierz</a>)</h2>
<p>Jest to wtyczka obecna na rynku już od dwóch lat, która ostatnio przeszła sporą metamorfozę. Sam proces wyszukiwania zdjęć wygląda analogicznie, jak we wtyczce Compfight. Jest jednak kilka różnic, które sprawiają, że to właśnie PhotoDroppera używam na swoich stronach.</p>
<h3>Dodawanie zdjęć</h3>
<div id="attachment_1473" class="wp-caption alignleft" style="width: 146px"><a href="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_icon.jpg" rel="lightbox[1459]"><img class="size-full wp-image-1473" title="PhotoDropper - ikonka" src="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_icon.jpg" alt="PhotoDropper - ikonka" width="136" height="28" /></a><p class="wp-caption-text">PhotoDropper - ikonka</p></div>
<p>Cały proces jest analogiczny do dodawania zdjęć za pomocą wbudowanej funkcji WordPressa &#8222;Dodaj medium&#8221;. Po instalacji tuż nad polem edycji wpisu, obok ikonki &#8222;Dodaj media&#8221; pojawia się nowa &#8222;Find photo with PhotoDropper&#8221;.</p>
<p>Przy pierwszym użyciu wyświetlony zostanie ekran powitalny, na którym musimy zaakceptować warunki korzystania z usługi oraz zaznaczyć czy strona jest komercyjna czy nie (ma to związek z licencją zdjęć, z których będziemy mogli korzystać):</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_welcomescreen.jpg" rel="lightbox[1459]"><img class="alignnone size-full wp-image-1475" title="PhotoDropper - ekran powitalny" src="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_welcomescreen.jpg" alt="PhotoDropper - ekran powitalny" width="640" height="464" /></a></p>
<p>Wyszukiwanie zdjęć jest bardzo intuicyjne, dostępne są również podstawowe opcje filtrowania. Po najechaniu na miniaturę wyświetlana jest jej nieco większa wersja (czego brakowało mi bardzo w Compfight).</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_search.jpg" rel="lightbox[1459]"><img class="alignnone size-full wp-image-1479" title="PhotoDropper - wyszukiwanie" src="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_search.jpg" alt="PhotoDropper - wyszukiwanie" width="640" height="227" /></a></p>
<p>Po kliknięciu, wybrane zdjęcie zostanie powiększone i otrzymamy opcję wstawienia go do wpisu lub powrotu do wyników wyszukiwania. Wtyczka PhotoDropper pobiera i zapisuje zdjęcia na naszym serwerze. Po wybraniu &#8222;Wstaw zdjęcie&#8221; pojawia się znajome okienko WordPressa, gdzie możemy dodać tytuł i opis zdjęcia, wybrać właściwy rozmiar etc.</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_insert.jpg" rel="lightbox[1459]"><img class="alignnone size-full wp-image-1481" title="PhotoDropper - wstawianie zdjęcia" src="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_insert.jpg" alt="PhotoDropper - wstawianie zdjęcia" width="640" height="208" /></a></p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_media.jpg" rel="lightbox[1459]"><img class="size-full wp-image-1482 alignnone" title="Standardowe okienko WordPressa &quot;Dodaj medium&quot;" src="http://webtuts.pl/wp-content/uploads/2012/04/photodropper_media.jpg" alt="Standardowe okienko WordPressa &quot;Dodaj medium&quot;" width="640" height="341" /></a></p>
<p>Efekt działania tej wtyczki możecie zobaczyć na początku tego wpisu. Podpis pod zdjęciem został wygenerowany automatycznie, z linkiem do oryginalnego zdjęcia na Flickr. Zauważcie też, że wyraz &#8222;photo&#8221; w podpisie również jest linkiem prowadzącym do strony wtyczki PhotoDropper.</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/04/photo_dropper_attribution.jpg" rel="lightbox[1459]"><img class="size-full wp-image-1484 alignright" title="PhotoDopper - opcje" src="http://webtuts.pl/wp-content/uploads/2012/04/photo_dropper_attribution.jpg" alt="PhotoDopper - opcje" width="290" height="191" /></a>Na szczęście wtyczka pozwala na wybór miejsca, gdzie ma się pojawić podpis (pod zdjęciem lub na końcu wpisu) oraz czy zamieszczać link do strony PhotoDropper. Ustawienia te znajdziesz w boksie w prawej kolumnie, podczas edycji wpisu.<br />
<br class="clear" /></p>
<h2>Podsumowanie</h2>
<p>Różnice między tymi dwiema wtyczkami wydają się drobne, ale jak zwykle diabeł tkwi w szczegółach. Najważniejsze z nich to:</p>
<ul>
<li>PhotoDropper pobiera zdjęcia na serwer, Comfight tylko wyświetla</li>
<li>Compfight nie pozwala wybrać miejsca, gdzie umieszczony zostanie link do oryginału, oraz czy zamieszczać link zwrotny do samej wtyczki,</li>
<li>w Compfight nie ma możliwości swobodnego decydowania o rozmiarze wstawianego zdjęcia</li>
<li>jeśli wyłączysz wtyczkę PhotoDropper zdjęcia pozostaną, ale znikną wygenerowane pod nimi podpisy, wyłączenie wtyczki Compfight nie ma wpływu na wcześniej wstawione zdjęcia i podpisy.</li>
</ul>
<p>Poza tym jest jeszcze, kwestia samych wyników wyszukiwania. Dla mojej testowej frazy &#8222;kitten computer&#8221; Compfight znalazł praktycznie same zdjęcia kotów, a dosłownie 3 lub cztery na których był i kot i komputer (na pierwszych 3 stronach wyników), co było moją intencją. Dla mnie trafność wyników jest elementem, który ostatecznie przeważa na korzyść wtyczki PhotoDropper.</p>
<p>Znacie lepesze sposoby (lub wtyczki) z pomocą których można wyszukiwać zdjęcia w Internecie?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=pEV2Bikq6CY:Jrb9kP4y83w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=pEV2Bikq6CY:Jrb9kP4y83w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=pEV2Bikq6CY:Jrb9kP4y83w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=pEV2Bikq6CY:Jrb9kP4y83w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/pEV2Bikq6CY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/wyszukiwanie-zdjec-na-bloga-lepszy-sposob/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://webtuts.pl/wyszukiwanie-zdjec-na-bloga-lepszy-sposob/</feedburner:origLink></item>
		<item>
		<title>WP App Store</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/aFsBIL8ys50/</link>
		<comments>http://webtuts.pl/wp-app-store/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 10:59:20 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1437</guid>
		<description><![CDATA[<p>Dzisiaj trafiłam na  bardzo ciekawy <a href="http://wpcandy.com/reports/wp-app-store-launches-in-april">artykuł na blogu WP Candy</a>, który może zainteresować twórców płatnych wtyczek i szablonów. Otóż już w kwietniu ma nastąpić launch projektu o nazwie <a href="http://wpappstore.com/">WP App Store</a>, którego celem jest umożliwienie użytkownikom kupowania wtyczek &#8230; <a href="http://webtuts.pl/wp-app-store/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Dzisiaj trafiłam na  bardzo ciekawy <a href="http://wpcandy.com/reports/wp-app-store-launches-in-april">artykuł na blogu WP Candy</a>, który może zainteresować twórców płatnych wtyczek i szablonów. Otóż już w kwietniu ma nastąpić launch projektu o nazwie <a href="http://wpappstore.com/">WP App Store</a>, którego celem jest umożliwienie użytkownikom kupowania wtyczek oraz szablonów bezpośrednio z poziomu panelu administracyjnego WordPress. Proces ma się odbywać za pośrednictwem wtyczki, a udział w projekcie już zapowiedziało kilku dużych graczy, m.in. WooThemes, StudioPress oraz Themify.</p>
<p>Autor nie planuje utworzenia serwisu typu marketplace (tak jak ma to miejsce w przypadku Apple App Store), ale zakłada dostęp do zasobów jedynie z poziomu wtyczki. Tutaj pojawia się potencjalna wada projektu &#8211; wtyczkę trzeba najpierw samodzielnie zainstalować. Na ten moment nie wiadomo również, czy wtyczka zostanie zaakceptowana do oficjalnego repozytorium WordPress. Wydaje się jednak, że autor ma pomysł jak przynajmniej częściowo rozwiązać problemy z ograniczoną dostępnością wtyczki. Planuje on dogadać się z firmami hostingowymi, aby WP App Store był jedną z domyślnych wtyczek w nowych instalacjach WordPress na ich serwerach. Brzmi obiecująco <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Autor planuje zarabiać na prowizji od szablonów i wtyczek sprzedanych za pośrednictwem WP App Store w stosunku: 30% App Store, 70% autor produktu. Sam proces zakupu, łącznie z podaniem danych karty kredytowej będzie się odbywał w dodatkowym okienku popup korzystającym z bezpiecznego połączenia. Oprócz katalogu wtyczek i szablonów, wtyczka będzie zawierać również panel użytownika gdzie będzie można przejrzeć swoją historię zakupów. Dostawcy zaś będą mieli dostęp do API, z pomocą którego będą mogli uzyskać informacje o tym, kto kupił ich produkty, np. po to, by móc udzielać im pomocy.</p>
<p>Wg mnie całość brzmi bardzo obiecująco, chociaż jak zwykle diabeł tkwi w szczegółach i to pewnie one zadecydują o sukcesie lub porażce tego przedsięwzięcia. Ja na pewno będę je obserwować uważnie. Jeśli chcesz być poinformowany o oficjalnym starcie, <a href="http://wpappstore.com/">tutaj</a> możesz zapisać się na listę mailingową.</p>
<p>A co Ty o tym myślisz?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=aFsBIL8ys50:tuB7o4V5ZM0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=aFsBIL8ys50:tuB7o4V5ZM0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=aFsBIL8ys50:tuB7o4V5ZM0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=aFsBIL8ys50:tuB7o4V5ZM0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/aFsBIL8ys50" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/wp-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://webtuts.pl/wp-app-store/</feedburner:origLink></item>
		<item>
		<title>Jak dodać kolumnę do ekranu zarządzania wpisami w WordPress?</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/n4fqYS8Ctus/</link>
		<comments>http://webtuts.pl/jak-dodac-kolumne-do-ekranu-zarzadzania-wpisami-w-wordpress/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 17:47:18 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1402</guid>
		<description><![CDATA[<p>Wiele wtyczek &#8222;wpycha&#8221; się z dodatkową treścią na ekran zarządzania wpisami i stronami. Jednym z przykładów jest bardzo popularna wtyczka All in One SEO Pack. Po zainstalowaniu, domyślnie na naszym ekranie zarządzania wpisami zostaną dodane aż trzy kolumny (SEO Title, &#8230; <a href="http://webtuts.pl/jak-dodac-kolumne-do-ekranu-zarzadzania-wpisami-w-wordpress/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Wiele wtyczek &#8222;wpycha&#8221; się z dodatkową treścią na ekran zarządzania wpisami i stronami. Jednym z przykładów jest bardzo popularna wtyczka All in One SEO Pack. Po zainstalowaniu, domyślnie na naszym ekranie zarządzania wpisami zostaną dodane aż trzy kolumny (SEO Title, SEO Keywords, SEO Description), co sprawia, że cała tabelka staje się mało czytelna. Mimo, że denerwuje mnie zachowanie tej wtyczki, sama technika jest całkiem pożyteczna. Zatem w tym artykule pokażę, w jaki sposób możesz dodać kolumnę do ekranu zarządzania wpisami i stronami, oraz jak wyłączyć te niechciane.</p>
<h2>Rejestrujemy nową kolumnę</h2>
<p>Domyślnie ekran zarządzania wpisami wygląda tak:</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami.png" rel="lightbox[1402]"><img class="alignnone size-large wp-image-1406" title="Domyślny wygląd ekranu zarządzania wpisami" src="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami-640x153.png" alt="Domyślny wygląd ekranu zarządzania wpisami" width="640" height="153" /></a></p>
<p>Naszym celem w tym tutorialu, będzie dodanie kolumny zawierającej miniaturę dla każdego wpisu. Zatem pierwsza czynność, którą musimy wykonać, polega na dodaniu nowej kolumny do istniejącej listy, poprzez dodanie fragmentu kodu do pliku functions.php*:</p>
<pre class="brush: php; title: ; notranslate">
add_filter('manage_posts_columns', 'add_thumbnails_column');

function add_thumbnails_column($columns) {
    $columns['thumbnail'] = __('Miniatura');
    return $columns;
}
</pre>
<p>Powyższy kod rejestruje kolumnę o nazwie thumbnail dla wpisów.</p>
<h2>Wyświetlamy kolumnę &#8216;thumbnail&#8217;</h2>
<p>Teraz pozostaje nam tylko wypełnić nową kolumnę treścią i wyświetlić jej zawartość. W tym celu skorzystamy z akcji <code>manage_posts_custom_column</code>. Podpinamy pod nią funkcję, która przyjmuje jeden parametr &#8211; nazwę kolumny, którą chcemy manipulować. W naszym przykładzie, w środku znajdzie się kod odpowiedzialny za sprawdzenie czy dany wpis posiada miniaturę i wyświetlenie jej.</p>
<pre class="brush: php; title: ; notranslate">
add_action('manage_posts_custom_column',  'show_thumbnails_column');

function show_thumbnails_column($column) {
    global $post;

    switch ( $column )
	{
	case 'thumbnail':
            if ( has_post_thumbnail() ){
                echo get_the_post_thumbnail( $post-&gt;ID, array(80,80) );
            }else{
                _e('Brak');
            }
	break;
	}
}
</pre>
<p>Jeśli chodzi o rozmiar miniatury, to w przykładzie postanowiłam wykorzystać obrazek o wymiarach 80x80px. Wartości te można zmienić oczywiście na dowolne inne. Możemy się również posłużyć jednym ze zdefiniowanych na blogu rozmiarów (domyślnych &#8211; &#8216;thumbnail&#8217;, &#8216;medium&#8217;, &#8216;large&#8217;, &#8216;full&#8217; lub <a href="http://codex.wordpress.org/Function_Reference/add_image_size">własnych</a>), zamieniając kod w linijce 10 na:</p>
<pre class="brush: php; title: ; notranslate">echo get_the_post_thumbnail( $post-&gt;ID, 'nazwa_rozmiaru' );      </pre>
<p>Ostatecznie po wprowadzeniu wszystkich zmian, nasz ekran zarządzania wpisami wygląda tak:</p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami_kolumna_miniatura.png" rel="lightbox[1402]"><img class="alignnone size-large wp-image-1407" title="Ekran zarządzania wpisami po dodaniu miniatur" src="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami_kolumna_miniatura-640x226.png" alt="Ekran zarządzania wpisami po dodaniu miniatur" width="640" height="226" /></a></p>
<h2>Wyłączamy niechciane kolumny</h2>
<p>We wstępie wspominałam, że wtyczki często dodają kolumny z informacjami do ekranu zarządzania wpisami. Na szczęście można je łatwo wyłączyć, klikając <strong>Opcje ekranu</strong> w prawym górnym rogu (tuż obok Pomocy). </p>
<p><a href="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami_opcje_ekranu.png" rel="lightbox[1402]"><img src="http://webtuts.pl/wp-content/uploads/2012/01/zarzadzanie_wpisami_opcje_ekranu-640x133.png" alt="Ekran zarządzania wpisami - opcje ekranu" title="Ekran zarządzania wpisami - opcje ekranu" width="640" height="133" class="alignnone size-large wp-image-1413" /></a></p>
<p>Swoją drogą dojście do tego rozwiązania zajęło mi chwilę, bo do tej pory wydawało mi się że poprzez Opcje ekranu można jedynie włączać i wyłączać całe panele <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>*</strong> Cały kod podany w artykule powinien się znaleźć w pliku functions.php, jednak w tym konkretnym przypadku polecam umieszczenie go w specjalnej wtyczce funkcjonalnej (co to jest wtyczka funkcjonalna i jak ją stworzyć przeczytasz <a title="Kiedy warto zastąpić plik functions.php wtyczką funkcjonalną i jak to zrobić?" href="http://wpninja.pl/artykuly/kiedy-warto-zastapic-plik-functions-php-wtyczka-funkcjonalna-i-jak-to-zrobic/" target="_blank">w moim artykule na blogu WP Ninja</a>).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=n4fqYS8Ctus:sINFa7iJISc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=n4fqYS8Ctus:sINFa7iJISc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=n4fqYS8Ctus:sINFa7iJISc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=n4fqYS8Ctus:sINFa7iJISc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/n4fqYS8Ctus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/jak-dodac-kolumne-do-ekranu-zarzadzania-wpisami-w-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://webtuts.pl/jak-dodac-kolumne-do-ekranu-zarzadzania-wpisami-w-wordpress/</feedburner:origLink></item>
		<item>
		<title>WordPress jako CMS – bloki treści</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/N4MH4BH6dPM/</link>
		<comments>http://webtuts.pl/wordpress-jako-cms-bloki-tresci/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 20:40:11 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Porady]]></category>
		<category><![CDATA[Wtyczki]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[page.ly multiedit]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wtyczki]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1365</guid>
		<description><![CDATA[<p>Jedną z rzeczy, której brakuje mi w WordPress to możliwość budowania stron z bloków, które można umieszczać w zdefiniowanych regionach i oczywiście edytować ich zawartość (podobnie jak to ma miejsce w Drupalu).</p>
<p>Ostatnio pracowałam nad serwisem, w którym strona główna &#8230; <a href="http://webtuts.pl/wordpress-jako-cms-bloki-tresci/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Jedną z rzeczy, której brakuje mi w WordPress to możliwość budowania stron z bloków, które można umieszczać w zdefiniowanych regionach i oczywiście edytować ich zawartość (podobnie jak to ma miejsce w Drupalu).</p>
<p>Ostatnio pracowałam nad serwisem, w którym strona główna składała się z trzech bloków treści i kluczową sprawą była możliwość ich edycji przez klienta. Teoretycznie taką funkcjonalność można &#8222;zasymulować&#8221; z pomocą widgetów oraz sprytnie zdefiniowanych sidebarów, ale na szczęście szybko okazało się że nie ma takiej potrzeby <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Rzut oka do repozytorium WordPress i znalazłam kilka obiecujących wtyczek. Ostatecznie jednak wypróbowałam dwie,<a href="http://wordpress.org/extend/plugins/multiple-content-blocks/">Multiple content blocks</a> i <a href="http://wordpress.org/extend/plugins/pagely-multiedit/">Page.ly MultiEdit</a> i właśnie tą drugą chciałam tutaj przedstawić.</p>
<h3>Krok 1. Instalujemy wtyczkę.</h3>
<p>Zaczynamy od początku, czyli od instalacji i aktywacji wtyczki w panelu administracyjnym. Wtyczka nie posiada rozbudowanego panelu opcji. W opcji Ustawienia->Multi-Edit mamy jedynie możliwość włączenia obsługi shortocode-ów w zdefiniowanych regionach. Domyślnie opcja ta jest wyłączona.</p>
<h3>Krok 2. Tworzymy szablon strony</h3>
<p>Wykonaj kopię pliku page.php i zmień jego nazwę na dowolna inną. Na potrzeby tego artykułu stworzymy szablon strony Kontakt z dwoma blokami treści &#8211; Left i Right.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
/*
Template Name: Kontakt
MultiEdit: Left,Right
*/
?&gt;</pre>
<p>Z punktu widzenia wtyczki page.ly MultiEdit najważniejsza jest druga linijka, gdyż tutaj deklarujemy bloki, z których będziemy korzystać. Nazewnictwo jest dowolne, aczkolwiek nie testowałam, jak wtyczka reaguje na polskie znaki diakrytyczne. Jest to o tyle ważne, że są to równocześnie nazwy regionów wyświetlane w panelu administracyjnym.</p>
<p>Następnie musimy wskazać miejsca w kodzie szablonu, w których powinny zostać wstawione bloki za pomocą poniższego kodu:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php multieditDisplay('Left'); ?&gt;</pre>
<p>Należy pamiętać, żeby funkcję multiedit() wstawić w środku pętli głównej. W naszym przykładzie mogło by to wyglądać tak:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;
	&lt;div &lt;?php post_class() ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
		&lt;div class=&quot;entry&quot;&gt;
			&lt;?php the_post(); ?&gt;
			&lt;div class=&quot;left-content&quot;&gt;
            &lt;?php multieditDisplay('Left'); ?&gt;
            &lt;/div&gt;
            &lt;div class=&quot;right-content&quot;&gt;
            &lt;?php multieditDisplay('Right'); ?&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;?php endwhile; endif; ?&gt;
</pre>
<p>Struktura i nazewnictwo klas css jest zupełnie dowolne. Ważne, aby nazwa bloku podana jako argument funkcji <code>multieditDisplay()</code> była zgodna z tą zdefiniowaną w nagłówku.</p>
<p>I jeszcze rzut oka na ostateczny layout:<br />
<img src="http://webtuts.pl/wp-content/uploads/2012/01/multiedit_layout.png" alt="Przykładowy layout z zastosowaniem bloków treści" title="Przykładowy layout z zastosowaniem bloków treści" width="640" height="500" class="alignnone size-full wp-image-1381" /></p>
<h3>Krok 3. Tworzymy nową stronę w panelu administracyjnym.</h3>
<p>Teraz wystarczy tylko wejść do panelu administracyjnego i utworzyć nową stronę, a następnie wybrać dla niej szablon, który przed chwilą stworzyliśmy. Po zapisaniu kopii roboczej i odświeżeniu strony, naszym oczom ukaże się zmodyfikowany edytor z zakładkami odpowiadającymi naszym regionom.<br />
<img src="http://webtuts.pl/wp-content/uploads/2012/01/bloki_tresci.png" alt="Edycja strony ze zdefiniowanymi blokami treści" title="Edycja strony ze zdefiniowanymi blokami treści" width="640" height="387" class="alignnone size-full wp-image-1368" /><br />
Zakładka <strong>Main Content</strong> zawiera główną treść strony (wyświetlaną za w pętli głównej za pomocą funkcji <code>the_post();</code>).</p>
<p>To w zasadzie koniec. Pozostaje nam już tylko uzupełnić treść w poszczególnych zakładkach i zapisać zmiany. W ten sposób stworzyliśmy stronę ze zdefiniowanymi blokami, których treść można swobodnie edytować.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=N4MH4BH6dPM:cTQ6bD9aPAE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=N4MH4BH6dPM:cTQ6bD9aPAE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=N4MH4BH6dPM:cTQ6bD9aPAE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=N4MH4BH6dPM:cTQ6bD9aPAE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/N4MH4BH6dPM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/wordpress-jako-cms-bloki-tresci/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://webtuts.pl/wordpress-jako-cms-bloki-tresci/</feedburner:origLink></item>
		<item>
		<title>comment_form() – wszystko co powinieneś wiedzieć (cz.2)</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/bIswqlnpeNo/</link>
		<comments>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz-2/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 12:38:49 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[comment_form]]></category>
		<category><![CDATA[komentarze]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1316</guid>
		<description><![CDATA[<p><a href="http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/" title="comment_form() – wszystko co powinieneś wiedzieć (cz.1)" >Druga część wpisu</a> poświęconego funkcji <code>comment_form()</code>. Bardziej zaawansowane modyfikacje najczęściej wymagają skorzystania z odpowiednich akcji i/lub filtrów. W tym wpisie przedstawię je po krótce. Dodatkowe informacje na ten temat znajdziesz również w <a href="http://codex.wordpress.org/Function_Reference/comment_form">oficjalnej dokumentacji</a>.<span id="more-1316"></span></p>
<h2>Filtry</h2>
<p>W poprzednim wpisie &#8230; <a href="http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz-2/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/" title="comment_form() – wszystko co powinieneś wiedzieć (cz.1)" >Druga część wpisu</a> poświęconego funkcji <code>comment_form()</code>. Bardziej zaawansowane modyfikacje najczęściej wymagają skorzystania z odpowiednich akcji i/lub filtrów. W tym wpisie przedstawię je po krótce. Dodatkowe informacje na ten temat znajdziesz również w <a href="http://codex.wordpress.org/Function_Reference/comment_form">oficjalnej dokumentacji</a>.<span id="more-1316"></span></p>
<h2>Filtry</h2>
<p>W poprzednim wpisie omówione zostały argumenty jakie przyjmuje funkcja <code>comment_form()</code>. Korzystanie z argumentów jest szybką metodą wprowadzenia drobnych zmian w formularzu. Przy zaawansowanych modyfikacjach, może okazać się że podawanie samych argumentów nie wystarczy, nie mówiąc o tym że powstanie dość skomplikowany i/lub nieczytelny kod. W takim przypadku lepszym rozwiązaniem jest wykorzystanie filtrów.</p>
<h3>comment_form_default_fields</h3>
<p>Podobnie, jak argument <code>fields</code>, filtr <code>comment_form_default_fields</code> pozwala na wprowadzanie zmian w domyślnych polach formularza komentarzy (podpis, email, strona WWW). Z jego pomocą możesz usunąć/zmienić któreś z trzech podstawowych pól lub dodać własne. We wpisie <a href="http://wpninja.pl/artykuly/dodatkowe-pola-w-formularzu-komentarzy-wordpress/">Dodatkowe pola w formularzu komentarzy WordPress</a>, korzystałam właśnie z tego filtra do wyświetlenia dodatkowego pola w formularzu.</p>
<h3>comment_form_field_{$name}</h3>
<p>Pozwala na wprowadzanie zmian dla jednego, konkretnego pola (spośród trzech podstawowych), którego nazwę podajesz, zamiast {$name}. Dopuszczalne nazwy to <code>author, email, url</code>.</p>
<p>Powiedzmy że naszym celem jest modyfikacja kodu HTML dla pola strona WWW, np. zmiana klasy kontenera (element
<p>).</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'comment_form_field_url', 'my_comment_form_field_url' );

function my_comment_form_field_author( $field ) {

 $field = str_replace( 'class=&quot;comment-form-url&quot;', 'class=&quot;my-url&quot;', $field );

 return $field;
}
</pre>
<h3>comment_form_field_comment</h3>
<p>Tak jak arguemnt <code>comment_from</code> odnosi się do pola tekstowego z treścią komentarza. Z pomocą filtra możemy np. zmienić nieco strukturę HTML, wstawiając pole w dodatkowy kontener.</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'comment_form_field_comment', 'my_comment_form_field_comment' );

function my_comment_form_field_comment( $comment_field ) {

$comment_field = '&lt;div&gt;' . $comment_field . '&lt;/div&gt;';

	return $comment_field;
}
</pre>
<h3>comment_form_logged_in</h3>
<p>Filtr, który pozwala na modyfikację komunikatu dla użytkowników zalogowanych. Wykorzystamy go do wyświetlenia specjalnej wiadomości dla użytkowników.</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'comment_form_logged_in', 'my_comment_form_logged_in', 10, 3 );

function my_comment_form_logged_in( $logged_in_as, $commenter, $user_identity ) {

	$logged_in_as .= '&lt;p&gt;' . __( 'Czekamy na Twoją opinię, jest dla nas bardzo ważna!' ) . '&lt;/p&gt;';

	return $logged_in_as;
}
</pre>
<p>Jak widzisz, przekazywane są tutaj trzy argumenty, które możemy wykorzystać w naszej funkcji:</p>
<ul>
<li><code>$logged_in_as</code> &#8211; kod HTML oraz informacje o osobie zalogowanej (komunikat: Zalogowany jako&#8230;). Możemy zmienić jego treść, lub dodać jeszcze jeden komunikat, tak jak w przykładowym kodzie powyżej.</li>
<li><code>$commenter</code> &#8211; zmienna zawierająca informacje o zalogowanym użytkowniku, wyciągnięte poprzez funkcję <a href="http://codex.wordpress.org/Function_Reference/wp_get_current_commenter"><code>wp_get_current_commenter()</code></a>,</li>
<li><code>$user_identity</code> &#8211; globalna zmienna reprezentująca aktualnego użytkownika</li>
</ul>
<h3>comment_form_defaults</h3>
<p>Filtr ten pozwoli Ci przekazać dowolny argument, z jakim można wywołać funkcję <code>comment_form()</code> (poza zmienną <code>fields</code>, którą możesz nadpisać poprzez filtr <code>comment_form_default_fields</code>). W poniższym przykładzie zmienimy treść komunikatu, wyświetlanego tuż nad guzikiem &#8222;Publikuj&#8221;.</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'comment_form_defaults', 'my_comment_form_defaults' );

function my_comment_form_defaults( $defaults ) {

	$defaults['comment_notes_after'] = __( 'Zanim komentarz zostanie opublikowany, musi go zatwierdzić moderator.' );

	return $defaults;
}
</pre>
<h2>Akcje</h2>
<p>Funkcja <code>comment_form()</code> daje duże pole do popisu autorom wtyczek i motywów. Oprócz zestawu argumentów i filtrów do dyspozycji jest jeszcze klika akcji, uruchamianaych w różnych momentach wyświetlania formularza komentarzy. Większość z nich znajdziesz poniżej, dla wygody nałożyłam je na screeenshot formularza. Przykładowy kod znajdziesz na samym końcu tej sekcji, jako że dla wszystkich akcji jego bazowa struktuta jest identyczna.</p>
<p><img class="aligncenter size-full wp-image-1330" title="Akcje dla funkcji comment_form()" src="http://webtuts.pl/wp-content/uploads/2011/11/comment_form_action_hooks.png" alt="Akcje dla funkcji comment_form()" width="640" height="616" /></p>
<p>Poza akcjamjami przedstawionymi na obrazku, istnieją jeszcze trzy, związane z logowaniem i uprawnieniami do komentowania.</p>
<h3>comment_form_must_log_in_after</h3>
<p>Akcja zostanie uruchomiona tylko gdy użytkownik jest niezalogowany, jeśli dodawanie komentarzy wymaga logowania. Uruchamiana tuż po wyświetleniu wartości dla argumentu <code>must_log_in</code>.</p>
<h3>comment_form_logged_in_after</h3>
<p>Akcja uruchamiana tylko dla zalogowanych użytkowników, tuż po wyświetleniu wartości dla argumentu <code>logged_in_as</code>.</p>
<h3>comment_form_comments_closed</h3>
<p>Jedyna akcja uruchamiana, gdy komentowanie jest wyłączone. Wszystkie pozostałe akcje uruchamiane są przy włączonych komentarzach. Jest to w zasadzie jedyny sposób, na wyświetlenie własnego komunikatu w takim wypadku, przykładowy kod poniżej:</p>
<pre class="brush: php; title: ; notranslate">
add_action( 'comment_form_comments_closed', 'my_comments_closed' );

function my_comments_closed() {
	echo '&lt;p class=&quot;comments-closed&quot;&gt;' . __( 'Przepraszamy, komentarze są wyłączone dla tego wpisu.' ) . '&lt;/p&gt;';
}
</pre>
<h2>Podsumowanie</h2>
<p>We wstępie do części pierwszej wspominałam, że cały czas funkcjonuje jeszcze wcześniejszy sposób wstawiania komentarzy. Myślę jendak, że sytuacja zmieni się dosyć szybko. Świadczyć o tym może fakt, że korzystanie z funkcji <code>comment_form()</code> jest jednym z wymogów dla motywów w repozytorium WordPress. Osobiście również nie potrafię znaleźć wad tego rozwiązania. Twórcy szablonów &#8211; czas na przesiadkę <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=bIswqlnpeNo:tzdS_61JO9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=bIswqlnpeNo:tzdS_61JO9o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=bIswqlnpeNo:tzdS_61JO9o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=bIswqlnpeNo:tzdS_61JO9o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/bIswqlnpeNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz-2/</feedburner:origLink></item>
		<item>
		<title>comment_form() – wszystko co powinieneś wiedzieć (cz.1)</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/VdyJKU3II28/</link>
		<comments>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 22:01:13 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1244</guid>
		<description><![CDATA[<p>W starszych wersjach WordPress (do 2.9) jedyną metodą na wstawienie formularza komentarzy było wpisanie całego kodu do pliku comments.php. Metoda ta była mało elastyczna, więc wraz z WordPress 3.0 wprowadzono funkcję <code>comment_form()</code>. W ten sposób ponad 40 linijek mieszanki &#8230; <a href="http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>W starszych wersjach WordPress (do 2.9) jedyną metodą na wstawienie formularza komentarzy było wpisanie całego kodu do pliku comments.php. Metoda ta była mało elastyczna, więc wraz z WordPress 3.0 wprowadzono funkcję <code>comment_form()</code>. W ten sposób ponad 40 linijek mieszanki kodu HTML, PHP oraz tekstów można zastąpić jedną linijką. </p>
<p>Oczywiście dodanie funkcji, nie oznacza, że poprzednia metoda wyszła z użycia. Wiele szablonów, również tych nowych, korzysta ze starszego rozwiązania. W takim przypadku cały kod niezbędny do wyświetlenia formularza znajduje się w pliku comments.php, gdzie można swobodnie edytować teksty, oraz HTML. Dla osób mniej &#8222;technicznych&#8221; może się to wydawać lepszym rozwiązaniem, ponieważ nawet bez znajomości PHP można stosunkowo łatwo samodzielnie wprowadzać drobne zmiany. </p>
<p>Korzystając z gotowych szablonów masz znikomy wpływ na to, z której metody skorzystał jego twórca. Jednak przy odrobinie cierpliwości, można ujarzmić również funkcję <code>comment_form()</code>, o czym przeczytasz poniżej.</p>
<p>W zależności od tego jak bardzo potrzebujemy ingerować w formularz komentarzy, mamy do dyspozycji dwie podstawowe metody:</p>
<ul>
<li>poprzez wywołanie funkcji <code>comment_form()</code> z odpowiednimi argumentami, lub </li>
<li>korzystając z dostępnych filtrów i akcji.</li>
</ul>
<p>W tym wpisie skupię się na pierwszej z wymienionych metod.</p>
<h2>Argumenty</h2>
<p>Podstawowy sposób wywołania funkcji comment_form() nie wymaga podawania żadnych parametrów.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php comment_form(); ?&gt;</pre>
<p>Wywołanie w ten sposób sprawi, że wyświetlony zostanie formularz komentarzy z domyślnymi ustawieniami.</p>
<p>Funkcję można również wywołać z parametrami:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php comment_form($args, $post_id); ?&gt;</pre>
<p><code>$post_id</code> jest ID wpisu dla którego wyświetlany jest formularz. Domyślnie jest to aktualny wpis, więc w większości zastosowań nie ma potrzeby podawania tego parametru.<br />
<code>$args</code> jest tablicą argumentów, za pomocą których kontrolujemy formularz. Jest to zatem klucz do wprowadzania zmian w formularzu i właśnie na argumentach skupimy się tej chwili.</p>
<h3>fields</h3>
<p>Jest to argument który zawiera tablicę standardowych pól formularza &#8211; podpis, email i strona www.<br />
Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
$commenter = wp_get_current_commenter();
$req = get_option( 'require_name_email' );

comment_form(
	array(
		'fields' =&gt; array(
					'author' =&gt; '&lt;p class=&quot;comment-form-author&quot;&gt;' . '&lt;label for=&quot;author&quot;&gt;' . __( 'Podpis' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class=&quot;required&quot;&gt;*&lt;/span&gt;' : '' ) . '&lt;input id=&quot;author&quot; name=&quot;author&quot; type=&quot;text&quot; value=&quot;' . esc_attr( $commenter['comment_author'] ) . '&quot; size=&quot;30&quot; /&gt;&lt;/p&gt;',
					'email' =&gt; '&lt;p class=&quot;comment-form-email&quot;&gt;&lt;label for=&quot;email&quot;&gt;' . __( 'E-mail' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class=&quot;required&quot;&gt;*&lt;/span&gt;' : '' ) . '&lt;input id=&quot;email&quot; name=&quot;email&quot; type=&quot;text&quot; value=&quot;' . esc_attr(  $commenter['comment_author_email'] ) . '&quot; size=&quot;30&quot; /&gt;&lt;/p&gt;',
					'url' =&gt; '&lt;p class=&quot;comment-form-url&quot;&gt;&lt;label for=&quot;url&quot;&gt;' . __( 'Strona WWW' ) . '&lt;/label&gt;' . '&lt;input id=&quot;url&quot; name=&quot;url&quot; type=&quot;text&quot; value=&quot;' . esc_attr( $commenter['comment_author_url'] ) . '&quot; size=&quot;30&quot; /&gt;&lt;/p&gt;',		)
	)
);
</pre>
<p>W tym przykładzie wywołałam funkcję <code>comment_form()</code> z argumentem <code>fields</code>. Powyższy kod możesz wykorzystać, jeśli potrzebujesz dokonać zmian w kodzie HTML (np. zamienić element <code>p</code> na <code>div</code> lub dodać własną klasę), albo zmienić opis pól.</p>
<p>Możliwe jest również dodanie dodatkowego pola, jednak jest to już bardziej złożone zagadnienie. Jeśli chcesz się dowiedzieć więcej na ten temat, zapraszam do lektury mojego wpisu gościnnego na blogu <a href="http://wpninja.pl">wpninja.pl</a>, pt. <a href="http://wpninja.pl/artykuly/dodatkowe-pola-w-formularzu-komentarzy-wordpress/">&#8222;Dodatkowe pola w formularzu komentarzy WordPress&#8221;.</a></p>
<h3>comment_field</h3>
<p>Ten argument pozwala na manipulację kodem odpowiedzialnym za wyświetlanie pola tekstowego przeznaczonego na treść komentarza. Tak jak argument <code>fields</code> pozwala na ingerencję w kod HTML oraz zmianę opisu. Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
comment_form(
	array(
		'comment_field' =&gt; '&lt;p class=&quot;comment-form-comment&quot;&gt;&lt;label for=&quot;comment&quot;&gt;' . _x( 'Komentarz', 'noun' ) . '&lt;/label&gt;&lt;textarea id=&quot;comment&quot; name=&quot;comment&quot; cols=&quot;45&quot; rows=&quot;8&quot; aria-required=&quot;true&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;'
		)
);
</pre>
<h3>must_log_in</h3>
<p>Argument odpowiedzialny za tekst oraz HTML wyświetlany użytkownikom niezalogowanym, jeśli dodawanie komentarzy wymaga logowania. Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'must_log_in' =&gt; '&lt;p class=&quot;must-log-in&quot;&gt;' .  sprintf( __( 'Musisz się &lt;a href=&quot;%s&quot;&gt;zalogować&lt;/a&gt;, aby móc dodać komentarz.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( ) ) ) ) . '&lt;/p&gt;'
		)
);
?&gt;
</pre>
<h3>logged_in_as</h3>
<p>Argument odpowiedzialny za wyświetlanie komunikatu dla zalogowanych użytkowników, z linkami do profilu użytkownika oraz do wylogowania. Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'logged_in_as' =&gt; '&lt;p class=&quot;logged-in-as&quot;&gt;' . sprintf( __( 'Zalogowano się jako &lt;a href=&quot;%1$s&quot;&gt;%2$s&lt;/a&gt;. &lt;a href=&quot;%3$s&quot; title=&quot;Wyloguj się z tego konta&quot;&gt;Wylogować się?&lt;/a&gt;' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( ) ) ) ) . '&lt;/p&gt;'
		)
);
?&gt;
</pre>
<h3>comment_notes_before</h3>
<p>Argument, dzięki któremu możesz dodać własny komunikat dla nie zalogowanych użytkowników, wyświetlany tuż nad formularzem. Domyślnie zawiera on informację o tym, że adres email nie zostanie opublikowany a pola wymagane są oznaczone gwiazdką. Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'comment_notes_before' =&gt; '&lt;p class=&quot;comment-notes&quot;&gt;' . __( 'Twój adres e-mail nie zostanie opublikowany.' ) . ( $req ? $required_text : '' ) . '&lt;/p&gt;'
		)
);
?&gt;
</pre>
<p>Jeśli nad formularzem nie chcesz wyświetlać żadnego komunikatu, możesz to zrobić korzystając z poniższego fragmentu:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'comment_notes_before' =&gt; ''
		)
);
?&gt;
</pre>
<h3>comment_notes_after</h3>
<p>Jest to argument który odpowiada za komunikat wyświetlany pod formularzem, tuż pod polem tekstowym a nad przyciskiem publikacji. Domyślnie zawiera informacje o tagach HTML, które można wykorzystywać w treści komentarza. Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'comment_notes_after' =&gt; '&lt;p class=&quot;form-allowed-tags&quot;&gt;' . sprintf( __( 'Możesz użyć następujących tagów oraz atrybutów &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;: %s' ), ' &lt;code&gt;' . allowed_tags() . '&lt;/code&gt;' ) . '&lt;/p&gt;'
		)
);
?&gt;
</pre>
<p>Tego komunikatu również można się pozbyć, postępując analogicznie jak w przypadku <code>comment_notes_before</code>.</p>
<h3>id_form</h3>
<p>Argument, który pozwalają na dodanie własnego atrybutu ID do elementu <code>form</code>.<br />
Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'id_form' =&gt; 'commentform'
		)
);
?&gt;
</pre>
<h3>id_submit, label_submit</h3>
<p>Atrybuty, które pozwalają na manipulację przyciskiem publikacji komentarza.<br />
<code>id_submit</code> pozwala zdefiniować własny atrybut ID dla elementu przycisku, natomiast <code>label_submit</code> pozwala zmienić tekst na przycisku. Domyślne wartości:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'id_submit' =&gt; 'submit',
		'label_submit' =&gt; __( 'Opublikuj komentarz' )
		)
);
?&gt;
</pre>
<h3>title_reply</h3>
<p>Tekst nagłówka wyświetlanego nad formularzem (i nad komunikatem <code>comment_notes_before</code>) &#8211; jego tutł.<br />
Domyślna wartość:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'title_reply' =&gt; __( 'Dodaj komentarz' )
		)
);
?&gt;
</pre>
<h3>title_reply_to oraz cancel_reply_link</h3>
<p>Przy włączonej opcji zagnieżdżonych komentarzy, komentujący ma możliwość udzielenia odpowiedzi na konkretną wypowiedź. W takim przypadku można nieco zmienić tekst nagłówek nad formularzem.<br />
W trakcie pisania odpowiedzi do komentarza, wyświetlany jest link pozwalający na anulację odpowiedzi. Jego treść możemy zmienić za pomocą argumentu <code>cancel_reply_link</code>.<br />
Domyślne wartości:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'title_reply_to' =&gt; __( 'Dodaj komentarz do %s' ),
		'cancel_reply_link' =&gt; __( 'Anuluj pisanie odpowiedzi' )
		)
);
?&gt;
</pre>
<p><a href="http://webtuts.pl/wp-content/uploads/2011/10/title_reply_to.png" rel="lightbox[1244]"><img src="http://webtuts.pl/wp-content/uploads/2011/10/title_reply_to.png" alt="wizualizacja położenia argumentów title_reply_to oraz cancel_reply_link" title="wizualizacja położenia argumentów title_reply_to oraz cancel_reply_link" width="640" height="236" class="aligncenter size-full wp-image-1288" /></a></p>
<h2>Zastosowanie</h2>
<p>Funkcję <code>comment_form()</code> można wywołać z dowolną kombinacją podanych powyżej argumentów, na przykład tak:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
comment_form(
	array(
		'label_submit' =&gt; __('Wyślij'),
		'title_reply' =&gt; __('Co o ty tym myślisz?')
	)
);
?&gt;
</pre>
<p>Dla wszystkich pozostałych argumentów, użyte zostaną ich wartości domyślne, które podawałam przy każdym z nich. Informacje na ten temat znajdziesz również w <a href="http://codex.wordpress.org/Function_Reference/comment_form" title="Dokumentacja funkcji comment_form()">oficjalnej dokumentacji</a>.<br />
We wszystkich przykładach podaję domyślne komunikaty i teksty po polsku (dla WordPress w wersji polskiej).</p>
<h2>Podsumowanie</h2>
<p>Myślę, że mając taką ściągę z łatwością zapanujesz nad swoim formularzem komentarzy. W części drugiej przeczytasz o nieco bardziej zaawansowanych zagadnieniach, czyli o wprowadzaniu zmian poprzez filtry i akcje.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=VdyJKU3II28:syc8N67_JVk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=VdyJKU3II28:syc8N67_JVk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=VdyJKU3II28:syc8N67_JVk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=VdyJKU3II28:syc8N67_JVk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/VdyJKU3II28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://webtuts.pl/comment_form-wszystko-co-powinienes-wiedziec-cz1/</feedburner:origLink></item>
		<item>
		<title>Przycisk Google Plus One – kreatywne zastosowania</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/IN6i9LxPyH8/</link>
		<comments>http://webtuts.pl/przycisk-google-plus-one-kreatywne-zastosowania/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 14:37:42 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google plus one]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1096</guid>
		<description><![CDATA[<p>Google Plus powoli przeciera szlaki w Internecie. O ile sam serwis nie tętni jeszcze życiem tak jak Facebook, a znajomi dopiero zakładają swoje profile, o tyle przycisk polecający treści &#8211; Google Plus One już zrobił karierę. Od Facebookowego Like różni &#8230; <a href="http://webtuts.pl/przycisk-google-plus-one-kreatywne-zastosowania/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Google Plus powoli przeciera szlaki w Internecie. O ile sam serwis nie tętni jeszcze życiem tak jak Facebook, a znajomi dopiero zakładają swoje profile, o tyle przycisk polecający treści &#8211; Google Plus One już zrobił karierę. Od Facebookowego Like różni się tym, że przekłada się na wyniki wyszukiwania w Google, co czyni go niezwykle atrakcyjnym narzędziem promocji.</p>
<p>Wstawienie guzika Google Plus One jest bardzo proste, podstawową instrukcję oraz kreator znajdziesz na oficjalnej stronie - <a href="http://www.google.com/intl/pl/webmasters/+1/button/">http://www.google.com/intl/pl/webmasters/+1/button/</a>. Do wyboru mamy przycisk w czterech rozmiarach oraz możemy wybrać język, a całość sprowadza się do wstawienia dwóch linijek kodu. Nie wyczerpuje to jednak w pełni możliwości, jakie daje przycisk Google +1. Jeśli nie boisz się odrobiny kodu, możesz dostosować przycisk +1 jeszcze bardziej, m.in <strong>możesz wywołać swoją funkcję JavaScript</strong>, w momencie gdy ktoś kliknie przycisk. Brzmi to niepozornie, ale w praktyce otwiera nowe atrakcyjne możliwości.</p>
<p>Zanim jednak puścimy wodze fantazji &#8211; szklanka zimnej wody, czyli <a href="http://www.google.com/intl/pl/webmasters/+1/button/policy.html">zasady Google</a> <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>Wydawca nie może bezpośrednio zachęcać użytkowników do klikania przycisku +1, jeśli działanie takie jest mylące dla użytkowników. Wydawca nie może oferować nagród, pieniędzy ani równowartości pieniężnej w zamian za kliknięcie przycisku +1.</p></blockquote>
<p>Ale na osłodę:</p>
<blockquote><p>Aby uniknąć wątpliwości – Wydawca może kierować użytkowników do przycisku +1, aby umożliwić im korzystanie ze swoich treści i funkcji oraz powiązań społecznościowych użytkowników.</p></blockquote>
<p>Co to oznacza dla właściciela strony?</p>
<p>Wpływanie na wyniki wyszukiwania za pomocą guzika +1 jest kuszące, nie można jednak przesadzać. Z zasad jasno wynika, że w zamian za kliknięcie +1 nie można oferować produktów ani usług za które normalnie pobierana jest opłata, ani oferować ich w formie nagród za kliknięcie (sądzę że wszelkie konkursy z nagrodami dla osób które klikną +1 odpadają).</p>
<p>W drugim akapicie czytamy jednak, że można użytkowników &#8222;kierować do przycisku +1,  aby umożliwić im korzystanie ze swoich treści i funkcji&#8221; &#8211; z czego wnioskuję, że akceptowalne jest oferowanie darmowego raportu, badania, ebooka albo innej treści, którego nigdzie <strong>nie sprzedajesz</strong> osobom które klikną +1 na Twojej stronie.</p>
<p>Z pomocą JavaScript można również dotrzeć do osób, które usuną przyznane +1. Można na przykład zapytać, co je do tego skłoniło, czy możesz coś poprawić &#8211; oczywiście tutaj też nie można przesadzać, aby nie być zbyt natrętnym dla użytkowników.</p>
<h2>Jak wstawić przycisk Google +1 na swoją stronę?</h2>
<ol>
<li>
Pierwszy krok polega na wstawieniu odpowiedniego kodu do nagłówka (sekcja <code>&lt;head&gt;</code>, plik <code>header.php</code>):</p>
<pre class="brush: jscript; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;https://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt;</pre>
</li>
<li>
Następnie przycisk Google +1 wstawiamy w treść strony (w WordPress np. do pliku single.php), za pomocą specjalnego tagu, który w wersji podstawowej wygląda tak:</p>
<pre class="brush: xml; title: ; notranslate">&lt;g:plusone&gt;&lt;/g:plusone&gt;</pre>
</li>
<li>Jeśli wszystko poszło dobrze, na stronie powinien wyświetlać się guzik +1, tak jak ma to miejsce na końcu tego wpisu.</li>
</ol>
<h3>Wykorzystanie parametru callback</h3>
<p>Tag <code>&lt;g:plusone&gt;&lt;/g:plusone&gt;</code> przyjmuje szereg parametrów, np. <strong>size</strong> który określa rozmiar guzika, <strong>href</strong> czyli url którego guzik dotyczy, czy wreszcie parametr <strong>callback</strong>, który pozwala na wywołanie funkcji JavaScript. Pełna lista parametrów, dostępna jest pod adresem <a href="http://developers.google.com/+/plugins/+1button/">http://developers.google.com/+/plugins/+1button/</a>.</p>
<p>Tag guzika Google +1 z parametrem callback wygląda tak:</p>
<pre class="brush: xml; title: ; notranslate">&lt;g:plusone callback=&quot;mojaFunkcja&quot;&gt;&lt;/g:plusone&gt;</pre>
<p>W parametrze callback podałam nazwę funkcji JavaScript &#8211; tutaj jest to <strong>mojaFunkcja()</strong>, która zostanie wywołana, gdy ktoś kliknie przycisk +1. Po wywołaniu funkcja ta otrzyma obiekt JSON, zawierający dwa parametry:</p>
<ul>
<li><strong>href</strong>, który zawiera adres URL dla którego kliknięty został guzik +1</li>
<li><strong>state</strong>, który zawiera informację o stanie i przyjmuje wartości &#8222;on&#8221; gdy ktoś dodał +1 i &#8222;off&#8221; gdy wcześniej przyznane +1 zostało usuniete.</li>
</ul>
<div>Domyślam się, że dla osób nie obeznanych z JavaScript na razie niewiele z tego wynika. <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Przejdźmy zatem do przykładu praktycznego.</div>
<h3>Przykład: darmowy raport pdf</h3>
<p>Tutaj naszym celem jest wyświetlenie na stronie komunikatu z podziękowaniem po kliknięciu +1 oraz linkiem do darmowego raportu pdf.<br />
Na początek krótka uwaga techniczna &#8211; aby testować działanie funkcji z poniższego przykładu, musisz być zalogowany na swoje konto w Google +.</p>
<ol>
<li>Przygotuj sobie dokument pdf i wgraj go na serwer. Zanotuj sobie link do tego pliku.<br />
Następnie wstawiamy ukryty div, który będzie zawierał nasze podziękowanie oraz link. Myślę, że najlepiej wstawić go gdzieś w pobliżu (pod lub nad) guzika +1. Poniżej masz kod, który powinieneś wkleić w treść dokumentu, np. plik single.php (łącznie z kodem przycisku +1):</p>
<pre class="brush: xml; title: ; notranslate">
&lt;g:plusone callback=&quot;mojaFunkcja&quot;&gt;&lt;/g:plusone&gt;&lt;br /&gt; &lt;!-- kod wyświetlający guzik +1 --&gt;
&lt;div id=&quot;secret&quot; style=&quot;display:none;border:1px solid #CADCEA; background:#CAE9FD; padding: 10px;&quot;&gt; &lt;!-- ukryty div z linkiem i odrobiną styli: tło i ramka oraz padding --&gt;
Cieszę się, że podobał Ci się ten wpis. Mam dla Ciebie również ciekawy raport na ten temat, który &lt;a href=&quot;http://mojastrona.pl/sciezka/do/pliku.pdf&quot; title=&quot;Tytuł&quot;&gt;pobierzesz tutaj&lt;/a&gt;.
&lt;/div&gt;
</pre>
</li>
<li>Teraz pora na przygotowanie odpowiedniego kodu JavaScript. Wstawiamy go do nagłówka (plik header.php) najlepiej tuż przed <code>&lt;/head&gt;</code>. Kod powinien wyglądać tak:
<pre class="brush: jscript; title: ; notranslate">
&lt;!-- załączamy skrypt pd Google --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt; 

&lt;!-- nasza funkcja która obsługuje kliknięcie guzika +1 --&gt;
&lt;script type='text/javascript'&gt;
function mojaFunkcja(gpo) {
	if (gpo.state == &quot;on&quot;) {
		$('#secret').fadeIn(3000);
	}
}
&lt;/script&gt;
</pre>
<p>Kliknij poniższy przycisk, aby zobaczyć powyższy przykład w akcji:<br />
<g:plusone callback="gpoTest"></g:plusone>
<div id="gpo" style="display:none;border:1px solid #CADCEA; background:#CAE9FD; padding: 10px;">
Cieszę się że spodobał Ci się ten wpis <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<p>Jedna uwaga &#8211; powyższy kod korzysta z biblioteki jQuery do wyświetlenia ukrytej treści, zatem musi ona być również dołączona w nagłówku. Wiele szablonów WordPress, w tym twentyeleven wykorzystuje jQuery i w takim wypadku biblioteka będzie już załączona. Aby się upewnić, wyświetl źródło swojej strony w przeglądarce (Ctrl + U w Firefoxie) i wyszukaj w frazę &#8222;jQuery&#8221;. Jeśli się okaże, że twój szablon nie korzysta z jQuery, <a href="http://docs.jquery.com/Downloading_jQuery">tutaj możesz pobrać skrypty</a>.</p>
<p>Powyższy przykład obsługuje tylko dodanie (kliknięcie)  +1 na stronie. Gdyby odwiedzający po chwili zmienił  zdanie i usunął +1, div z komunikatem pozostał by  nadal widoczny.
</li>
</ol>
<p>Na koniec zaznaczę, że jest to dość prosty przykład i link do pobrania pdf nie jest tutaj zabezpieczony w żaden wyszukany sposób &#8211; znajduje się on w naszym dokumencie HTML, z tym że jest niewidoczny, do momentu gdy guzik +1 zostanie kliknięty. Nie zmienia to faktu, że osoba sprytna na tyle żeby wyświetlić sobie kod źródłowy strony, będzie w  stanie odczytać adres naszego pliku pdf i pobrać go sobie nie klikając +1 na stronie.</p>
<p>Więcej informacji dla developerów na ten temat znajduje się pod adresem <a href="http://developers.google.com/+/plugins/+1button/">http://developers.google.com/+/plugins/+1button/</a></p>
<h2>Podsumowanie</h2>
<p>Zadaniem tego wpisu miało być pokazanie możliwości przycisku Google +1. Przykłady podane we wpisie miały za zadanie pokazanie konceptu oraz być inspiracją dla własnych rozwiązań. Mam nadzieję że wszystko jest jasne i zrozumiałe, a jeśli nie to zapraszam do zadawania pytań w komentarzach.</p>
<p>PS. Jeśli podobał Ci się ten wpis, kliknij przycisk +1 poniżej <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=IN6i9LxPyH8:mi18zQIKLds:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=IN6i9LxPyH8:mi18zQIKLds:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=IN6i9LxPyH8:mi18zQIKLds:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=IN6i9LxPyH8:mi18zQIKLds:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/IN6i9LxPyH8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/przycisk-google-plus-one-kreatywne-zastosowania/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://webtuts.pl/przycisk-google-plus-one-kreatywne-zastosowania/</feedburner:origLink></item>
		<item>
		<title>TimThumb – jeszcze prostszy sposób na likwidację luki w zabezpieczeniach</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/hde-Zdm0790/</link>
		<comments>http://webtuts.pl/timthumb-jeszcze-prostszy-sposob-na-likwidacje-luki-w-zabezpieczeniach/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 11:46:14 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Porady]]></category>
		<category><![CDATA[timthumb]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[zabezpieczenia]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1080</guid>
		<description><![CDATA[<p>W poprzednim wpisie na temat poważnej <a title="TimThumb – krytyczna luka w zabezpieczeniach" href="http://webtuts.pl/timthumb-krytyczna-luka-w-zabezpieczeniach/">luki w zabezpieczeniach skryptu Timthumb</a>, podawałam prostą metodę na likwidację problemu. Dzisiaj przedstawię ci wtyczkę, z pomocą której za jednym zamachem sprawdzi wszystkie zainstalowane u siebie szablony i naprawi ewentualne problemy. Polecam zwłaszcza &#8230; <a href="http://webtuts.pl/timthumb-jeszcze-prostszy-sposob-na-likwidacje-luki-w-zabezpieczeniach/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>W poprzednim wpisie na temat poważnej <a title="TimThumb – krytyczna luka w zabezpieczeniach" href="http://webtuts.pl/timthumb-krytyczna-luka-w-zabezpieczeniach/">luki w zabezpieczeniach skryptu Timthumb</a>, podawałam prostą metodę na likwidację problemu. Dzisiaj przedstawię ci wtyczkę, z pomocą której za jednym zamachem sprawdzi wszystkie zainstalowane u siebie szablony i naprawi ewentualne problemy. Polecam zwłaszcza mniej &#8222;tchnicznym&#8221; użytkownikom WordPressa.</p>
<h2>Timthumb vulnerability scanner</h2>
<p>Krok pierwszy to oczywiście pobranie wtyczki <a href="http://wordpress.org/extend/plugins/timthumb-vulnerability-scanner/" target="_blank">Timthumb Vulnerability Scanner</a> z repozytorium WordPress, a następnie dokonaj aktywacji w panelu administratora. Po aktywacji, w pozycji <strong>Narzędzia</strong> pojawi się nowa opcja &#8211; <strong>Timthumb scanner</strong>.</p>
<p><a href="http://webtuts.pl/timthumb-jeszcze-prostszy-sposob-na-likwidacje-luki-w-zabezpieczeniach/timthumb_vulnerability_scanner/" rel="attachment wp-att-1084"><img class="alignnone size-full wp-image-1084" title="Timthumb vulnerability scanner" src="http://webtuts.pl/wp-content/uploads/2011/09/timthumb_vulnerability_scanner.gif" alt="Timthumb vulnerability scanner" width="608" height="271" /></a></p>
<p>Cały proces jest maksymalnie uproszczony. Teraz pozostaje nam tylko kliknąć <strong>Scan,</strong> a wtyczka przeskanuje wszystkie szablony i pokaże podsumowanie. Przy każdym szablonie, który korzysta ze starej wersji skryptu Timthumb wyświetlony zostanie przycisk <strong>Fix</strong>, za pomocą którego jednym kliknięciem problem zostanie automatycznie naprawiony.</p>
<p>Na koniec chciałam tylko zaznaczyć że wtyczka nie zadziała po fakcie &#8211; jeśli Twoja strona została zhakowana na podstawie luki w zabezpieczeniach skryptu Timthumb, musisz samodzielnie posprzątać bałagan <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A dla spokoju ducha i na wszelki wypadek po prostu pobierz tę wtyczkę i sprawdź swoje szablony!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=hde-Zdm0790:4IZpIujBND0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=hde-Zdm0790:4IZpIujBND0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=hde-Zdm0790:4IZpIujBND0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=hde-Zdm0790:4IZpIujBND0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/hde-Zdm0790" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/timthumb-jeszcze-prostszy-sposob-na-likwidacje-luki-w-zabezpieczeniach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://webtuts.pl/timthumb-jeszcze-prostszy-sposob-na-likwidacje-luki-w-zabezpieczeniach/</feedburner:origLink></item>
		<item>
		<title>Automatyczny backup WordPress za pomocą Dropbox</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/RODAxd4wbkc/</link>
		<comments>http://webtuts.pl/automatyczny-backup-wordpress-za-pomoca-dropbox/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 09:02:33 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wtyczki]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1038</guid>
		<description><![CDATA[<p>Mam nadzieję, że nie muszę nikogo przekonywać, jak istotne jest regularne tworzenie kopii zapasowej, czyli tzw. backup-u strony. Możliwości jest wiele, począwszy od płatnych wtyczek, z których chyba najpopularniejsza to <a title="VaultPress" href="http://vaultpress.com/" target="_blank">VaultPress</a>, poprzez darmowe pluginy dostępne w repozytorium WordPress, aż &#8230; <a href="http://webtuts.pl/automatyczny-backup-wordpress-za-pomoca-dropbox/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Mam nadzieję, że nie muszę nikogo przekonywać, jak istotne jest regularne tworzenie kopii zapasowej, czyli tzw. backup-u strony. Możliwości jest wiele, począwszy od płatnych wtyczek, z których chyba najpopularniejsza to <a title="VaultPress" href="http://vaultpress.com/" target="_blank">VaultPress</a>, poprzez darmowe pluginy dostępne w repozytorium WordPress, aż po skrypty, które użytkownicy tworzą na własne potrzeby. Dokonanie przeglądu i porównania istniejących rozwiązań nie jest celem artykułu, przedstawię Wam za to wtyczkę, której sama aktualnie używam i pokażę jak z niej korzystać.</p>
<p>Zanim jednak przejdę do wtyczki, słów kilka o <a title="Dropbox" href="http://dropbox.com/" target="_blank">Dropbox</a>. Dropbox to po prostu dysk internetowy, który umożliwia przechowywanie plików i synchronizację ich z wieloma komputerami. W ramach darmowego konta dostajesz do dyspozycji 2 GB przestrzeni dyskowej na swoje pliki. Jest to narzędzie, które serdecznie Ci polecam, jeśli jeszcze go nie używasz.</p>
<p>A oto w jaki sposób ustawić automatyczne tworzenie kopii zapasowych:</p>
<h3>Krok 1: Załóż konto w usłudze Dropbox.</h3>
<p>Zrób to teraz, zanim przejdziesz do kolejnego kroku. Jak już wspominałam darmowe konto daje Ci 2 GB przestrzeni dyskowej, co w zupełności wystarczy na potrzeby kopii zapasowych WordPress. Istnieją również płatne konta, które oferują większą przestrzeń, szczegóły<a href="http://www.dropbox.com/plans" target="_blank"> znajdziesz tutaj</a>.</p>
<h3>Krok 2: Pobierz wtyczkę WordPress Backup to Dropbox.</h3>
<p>Wtyczkę znajdziesz bez problemu w <a title="Wordpress Backup To Dropbox" href="http://wordpress.org/extend/plugins/wordpress-backup-to-dropbox/" target="_blank">repozytorium WordPress</a>. Zainstaluj ją i aktywuj na swoim blogu.</p>
<h3>Krok 3: Dokonaj autoryzacji.</h3>
<p>Po aktywacji wtyczki przejdź do sekcji <strong>Ustawienia -&gt;Backup to Dropbox.</strong> Zanim jednak będziesz mógł ją skonfigurować, musisz dokonać aktywacji, aby twój blog mógł się komunikować z Dropbox. Po prostu kliknij guzik &#8222;<strong>Authorize</strong>&#8222;.</p>
<p><img class="alignnone size-full wp-image-1048" title="Backup to Dropbox - aktywacja" src="http://webtuts.pl/wp-content/uploads/2011/08/dropbox_wp_aktywacja.png" alt="Backup to Dropbox - aktywacja" width="608" height="214" /></p>
<p>Zostaniesz przeniesiony na stronę Dropbox, i jeśli jesteś tam akurat zalogowany, nie musisz robić nic więcej. Twoim oczom ukaże się komunikat:</p>
<p><img class="alignnone size-full wp-image-1050" title="Backup to Dropbox - aktywacja, krok 2" src="http://webtuts.pl/wp-content/uploads/2011/08/dropbox_wp_aktywacja2.png" alt="Backup to Dropbox - aktywacja, krok 2" width="527" height="241" /></p>
<h3>Krok 4: Konfiguracja wtyczki.</h3>
<p>To już prawie koniec, wtyczka ma na prawdę niewiele ustawień. Kopie zapasowe będą tworzone i przesyłane na Twoje konto w Dropbox, oraz zapisywane lokalnie (oczywiście możesz zmienić ścieżki). Kopie zapasowe warto wykonywać regularnie, dlatego na samym dole ustawiasz dzień i godzinę oraz jak często operacja ma być powtarzana. Aby wykonać pierwszą kopię nie musisz wcale czekać, na samym dole (tuż obok guzika <strong>Save changes</strong>) znajduje się guzik  <strong>Backup Now, </strong>dzięki czemu kopia zostanie wykonana natychmiast. Już po chwili pliki kopii zapasowej powinny się pojawić na Twoim komputerze oraz na koncie Dropbox.</p>
<p>Tutaj jednak mała uwaga &#8211; może się zdarzyć że kopie nie będą wykonywane dokładnie w wyznaczonym czasie. Dzieje się tak dlatego, że wtyczka ta nie działa w oparciu o <a title="Co to jest cron?" href="http://pl.wikipedia.org/wiki/Cron" target="_blank">cron</a>, i wymaga abyś w danym momencie był zalogowany do swojego bloga. Nie martw się jednak, bo jeśli akurat minie pora wykonania kopii, zostanie ona wykonana gdy tylko znów zalogujesz się do panelu.</p>
<h3>Podsumowanie</h3>
<p>Z pomocą wtyczki <strong>WordPress Backup to Dropbox </strong>wykonasz kopię zapasową całej instalacji, łącznie z plikami core. W związku z tym tworzenie pierwszej kopii może chwilę potrwać, ale już przy kolejnych, nadpisywane będą tylko te pliki, w które zostały w międzyczasie zmienione. Wtyczka wykonuje również zrzut bazy danych do pliku sql. Będzie to plik o nazwie <code>[nazwa bazy danych]-backup.sql</code>, znajdziesz go w folderze <code>wp-content/backups</code>.</p>
<p>A ty w jaki sposób wykonujesz kopie zapasowe?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=RODAxd4wbkc:HKjGZp57PC8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=RODAxd4wbkc:HKjGZp57PC8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=RODAxd4wbkc:HKjGZp57PC8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=RODAxd4wbkc:HKjGZp57PC8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/RODAxd4wbkc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/automatyczny-backup-wordpress-za-pomoca-dropbox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://webtuts.pl/automatyczny-backup-wordpress-za-pomoca-dropbox/</feedburner:origLink></item>
		<item>
		<title>InstantWP – szybka i bezbolesna instalacja WordPress na komputerze lokalnym</title>
		<link>http://feedproxy.google.com/~r/WebTutsPl/~3/Oe_nLPcKcpg/</link>
		<comments>http://webtuts.pl/instantwp-szybka-i-bezbolesna-instalacja-wordpress-na-komputerze-lokalnym/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 12:10:26 +0000</pubDate>
		<dc:creator>Ola Łączek</dc:creator>
				<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[InstantWP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://webtuts.pl/?p=1002</guid>
		<description><![CDATA[<p>Lokalne środowsko testowe dla strony WWW jest podstawowym narzędziem pracy web developera. Nic dziwnego, to rozwiązanie ma wiele zalet: przyspiesza proces tworzenia strony (nie trzeba wgrywać plików na serwer po każdej zmianie), pozwala pracować nad stroną również, kiedy nie masz &#8230; <a href="http://webtuts.pl/instantwp-szybka-i-bezbolesna-instalacja-wordpress-na-komputerze-lokalnym/" class="read_more">Czytaj dalej...</a></p>]]></description>
			<content:encoded><![CDATA[<p>Lokalne środowsko testowe dla strony WWW jest podstawowym narzędziem pracy web developera. Nic dziwnego, to rozwiązanie ma wiele zalet: przyspiesza proces tworzenia strony (nie trzeba wgrywać plików na serwer po każdej zmianie), pozwala pracować nad stroną również, kiedy nie masz dostępu do internetu oraz chyba najważniejsza rzecz &#8211; można testować różne rozwiązania, bez obawy, że &#8222;popsujemy&#8221; działającą stronę. Nawet jeśli tworzysz swojego osobistego bloga, posiadanie jego lokalnej wersji znacznie ułatwi Ci cały proces.</p>
<p>Aby zainstalować WordPress lokalnie na swoim komputerze, potrzebujesz kilku narzędzi. De facto potrzebujesz przekształcić swój komputer w serwer, instalując odpowiedni zestaw oprogramowania &#8211; serwer WWW, silnik baz danych, oraz któryś z języków programowania. Brzmi dość skomplikowanie, zwłaszcza dla początkujących, którzy interesują się WordPressem, a cała reszta to zło konieczne.</p>
<p>Istnieją oczywiście gotowe pakiety, które zawierają niezbędne oprogramowanie w postaci jednego instalatora. Przykładem niech będzie <a title="XAMPP" href="http://www.apachefriends.org/en/index.html">XAMPP</a>, który zawiera w sobie serwer WWW Apache, MySQL, PHP oraz narzędzie do zarządzania bazą danych phpMyAdmin. Jednak w tym przypadku ściągnięcie i instalacja oprogramowania, to dopiero początek. Zanim będziemy mogli zająć się WordPressem, należy go ręcznie zainstalować, a przedtem samodzielnie utworzyć bazę danych. Okazuje się jednak, że można prościej <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Czym jest Instant WordPress?</h2>
<p>Instant WP to pakiet oprogramowania, który podobnie jak XAMPP zawiera w sobie:</p>
<ul>
<li>serwer WWW Apache 2.2.15,</li>
<li>PHP 5.3.2,</li>
<li>MySQL 5.1.46,</li>
</ul>
<p>oraz dodatkowo &#8211; WordPress w wersji 3.2. Po pobraniu, wszystkie programy instalowane są po kolei na Twoim komputerze, a efektem końcowym jest lokalna wersja WordPress gotowa do pracy. Autor poszedł nawet krok dalej i podstawową instalację WordPress uzupełnił o przykładowe treści (w odróżnieniu od domyślnej instalacji, która zawiera 1 wpis, 1 stronę i 1 komentarz).</p>
<p>InstantWP tworzy na Twoim komputerze w pełni samodzielną instalację WordPress. Możesz ją swobodnie kopiować, przenosić, zmieniać jej nazwę. Możesz również przegrać ją na przenośny dysk USB i uruchomiać z dowolnego komputera. Instant WP nie instaluje żadnych dodatkowych programów poza swoim folderem instalacyjnym ani nie wprowadza żadnych zmian w rejestrze. Aby go usunąć wystarczy skasować katalog, w którym został zainstalowany, a nie pozostanie po nim żaden ślad na komputerze <img src='http://webtuts.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Instalacja i korzystanie z InstantWP</h2>
<h3>Krok 1: Pobierz i zainstaluj InstantWP</h3>
<p>InstantWP działa <strong>tylko</strong> pod Windowsem (XP, Vista, 7). Oprogramowanie znajdziesz na stronie <a href="http://www.instantwp.com/download/">instantwp.com</a>. Ze strony pobierasz plik InstantWP_X.exe. Po uruchomieniu zobaczysz instalator, który poprosi Cię jedynie o wskazanie, w jakim folderze chcesz zainstalować program.</p>
<h3>Krok 2: Uruchamianie</h3>
<p>W katalogu, który wybrałeś podczas instalacji znajdziesz plik <code>InstantWP.exe</code>. Za jego pomocą uruchamiasz program. Po uruchomieniu wyświetlony zostanie prosty panel, który umożliwia szybki dostęp do podstawowych funkcji.</p>
<p>Panel zostanie uruchomiony domyślnie w Internet Explorerze. Jeśli chcesz aby InstantWP korzystał z innej przeglądarki, np. FireFox, potrzebujesz edytować plik <code>pms_config.ini</code> który znajduje się w folderze <code>iwpserver</code>. Znajdź linijkę:</p>
<pre class="brush: php; title: ; notranslate">BrowserPath= ../system/InstantWP_GUI.exe</pre>
<p>i zamień na ścieżkę do wybranej przeglądarki, np. tak:</p>
<pre class="brush: php; title: ; notranslate">BrowserPath= “C:\Program Files\Mozilla Firefox\firefox.exe”</pre>
<div>Pamiętaj, że zamknięcie panelu InstantWP jest równoznaczne z <b>wyłączeniem programu</b>. W związku z tym, gdy pracujesz nad stroną musi on być cały czas otwarty.</div>
<h3>Krok 3: Poruszanie się po InstantWP</h3>
<p><a href="http://webtuts.pl/wp-content/uploads/2011/08/instantwp_panel.gif" rel="lightbox[1002]"><img class="alignleft size-medium wp-image-1010" title="Panel InstantWP" src="http://webtuts.pl/wp-content/uploads/2011/08/instantwp_panel-300x206.gif" alt="Panel InstantWP" width="300" height="206" /></a>InstantWP posiada prosty panel, który zawiera podstawowe skróty, które ułatwią Ci poruszanie się po WordPressie.<br />
<br style="clear:both;" /></p>
<ul>
<li>WordPress Frontpage otwiera stronę główną Twojej lokalnej instalacji WordPress w przeglądarce (domyślnie IE)</li>
<li>WordPress Admin otwiera panel administracyjny WordPress (użytkownik: &#8222;admin&#8221;, hasło: &#8222;password&#8221;)</li>
<li>Plugins Folder, Themes Folder otwiera folder plugins lub themes Twojej lokalnej instalacji za pomocą eksploratora Windows</li>
<li>MySQL Admin otwiera w przeglądarce panel zarządzania bazą danych PHPMyAdmin</li>
<li>Documentation jest linkiem do oficjalnej dokumentacji na stronie internetowej InstantWP</li>
</ul>
<h3>Krok 4: instalacja szablonów i wtyczek</h3>
<p>Można to zrobić na dwa sposoby, ręcznie lub automatycznie. Automatyczne wyszukiwanie i instalowanie wtyczek oraz szablonów nie wymaga chyba dodatkowych objaśnień &#8211; wszystkie czynność wykonamy z poziomu panelu administracyjnego WordPress (szablony poprzez <strong>Appearance</strong>, zakładka <strong>Install Themes</strong>, wtyczki poprzez <strong>Plugins -&gt; Add new</strong>).</p>
<p>Aby zainstalować wtyczkę lub szablon ręcznie:</p>
<ol>
<li>Pobierz ją na swój komputer i rozpakuj.</li>
<li>W panelu InstantWP kliknij Plugins Folder lub Themes Folder. Możesz również przejść do odpowiedniego katalogu z za pomocą np. Total Commander. W tym celu przejdź do folderu, w którym zainstalowałeś InstantWP, a następnie <code>\iwpserver\htdocs\wordpress\wp-content\themes</code> lub <code>\iwpserver\htdocs\wordpress\wp-content\plugins</code> i skopiuj tam rozpakowane pliki.</li>
<li>Przejdź do panelu administracyjnego swojej lokalnej instalacji WordPress i aktywuj wybrane wtyczki/szablony.</li>
</ol>
<h3>Krok 5: Aktualizacja WordPress</h3>
<div>W tej chwili InstantWP instalowany jest z wersją 3.2 WordPressa. Gdy zalogujesz się panelu administracyjnego na górze zobaczysz informację  o tym, że dostępna jest już nowsza wersja. Możesz w tym momencie dokonać automatycznej aktualizacji, wykonując instrukcje na ekranie.</div>
<h2>Podsumowanie</h2>
<p>Aktualnie jestem na etapie testowania InstantWP i jak na razie jestem bardzo zadowolona. Na potrzeby osób zaczynających swoją przygodę z WordPress wydaje się być rozwiązaniem idealnym, chociaż z punktu widzenia web developera, pewnie jest to bardziej ciekawostka. W każdym razie moim zdaniem, warto przynajmniej zapoznać się z InstantWP. Co Ty o tym myślisz?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=Oe_nLPcKcpg:1UxBWI8ydns:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=Oe_nLPcKcpg:1UxBWI8ydns:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?i=Oe_nLPcKcpg:1UxBWI8ydns:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebTutsPl?a=Oe_nLPcKcpg:1UxBWI8ydns:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WebTutsPl?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WebTutsPl/~4/Oe_nLPcKcpg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://webtuts.pl/instantwp-szybka-i-bezbolesna-instalacja-wordpress-na-komputerze-lokalnym/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://webtuts.pl/instantwp-szybka-i-bezbolesna-instalacja-wordpress-na-komputerze-lokalnym/</feedburner:origLink></item>
	</channel>
</rss>

