<?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>Илья Ксензов &#187; Илья</title>
	<atom:link href="http://www.ksenzov.ru/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ksenzov.ru</link>
	<description>— поднимим Рунет с колен!</description>
	<lastBuildDate>Thu, 30 Jun 2011 08:44:49 +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>Как починить базу данных Wordpress</title>
		<link>http://www.ksenzov.ru/kak-pochinit-bazu-dannyx-wordpress.html</link>
		<comments>http://www.ksenzov.ru/kak-pochinit-bazu-dannyx-wordpress.html#comments</comments>
		<pubDate>Wed, 27 Apr 2011 21:53:20 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=154</guid>
		<description><![CDATA[Иногда база данных блога ломается, притом ломается так, что даже в админку не попасть. При этом сайт пишет, что базу данных нужно отремонтировать. Кто-то сразу бежит в phpMyAdmin или в панель управления хостингом, если такой функционал предусмотрен. А на самом деле ничего этого не нужно, просто допишите в wp-config.php строку define (&#39;WP_ALLOW_REPAIR&#39;, true); и нажмите [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда база данных блога ломается, притом ломается так, что даже в админку не попасть. При этом сайт пишет, что базу данных нужно отремонтировать. Кто-то сразу бежит в phpMyAdmin или в панель управления хостингом, если такой функционал предусмотрен. А на самом деле ничего этого не нужно, просто допишите в wp-config.php строку define (&#39;WP_ALLOW_REPAIR&#39;, true); и нажмите ссылку, которая указана в присловутой ошибке вордпресса. Когда база починится, удалите эту константу.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/kak-pochinit-bazu-dannyx-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Снова о защите продажных ссылок</title>
		<link>http://www.ksenzov.ru/snova-o-zashhite-prodazhnyx-ssylok-2.html</link>
		<comments>http://www.ksenzov.ru/snova-o-zashhite-prodazhnyx-ssylok-2.html#comments</comments>
		<pubDate>Tue, 26 Apr 2011 11:18:07 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Разработка]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=146</guid>
		<description><![CDATA[Уже писал ранее о способе защиты продажных ссылок, там был универсальный способ, где вырезались все левые GET-параметры из запроса. К сожалению в ряде случаев от не работает, например при отправке запроса без GET-параметров, но со знаком &#171;?&#187; (типа http://www.site.ru/?). Сначала хотел переписать тот код и убрать эту проблему, но затем решил изучить код САПы и [...]]]></description>
			<content:encoded><![CDATA[<p>Уже писал ранее о <a href="http://www.ksenzov.ru/zashhita-prodazhnyx-ssylok.html">способе защиты продажных ссылок</a>, там был универсальный способ, где вырезались все левые GET-параметры из запроса. К сожалению в ряде случаев от не работает, например при отправке запроса без GET-параметров, но со знаком &laquo;?&raquo; (типа <a href="http://www.site.ru/">http://www.site.ru/</a>?). Сначала хотел переписать тот код и убрать эту проблему, но затем решил изучить код САПы и Меинлинка (использую эти две биржи) и понять суть.</p>
<p>Оказалось, что в коде Меинлинка уже есть все необходимое для защиты, просто ссылки нужно отображать не через $ml-&gt;Get_Links (), а через $ml-&gt;Get_Links_Protected (). Надо было курить маны по установке =)</p>
<p>В САПе нет такой функции, зато можно переопределить опцию request_uri при вызове кода! Поэтому я переписал код вызова так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'DOCUMENT_ROOT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span>_SAPE_USER<span style="color: #339933;">.</span><span style="color: #0000ff;">'/sape.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$o</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'host'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'www.site.ru'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REDIRECT_URL'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$o</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'request_uri'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REDIRECT_URL'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">else</span> <span style="color: #000088;">$o</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'request_uri'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$o</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'charset'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$sape</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SAPE_client<span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Магия тут во второй и третьей строке, переопределяется, какой адрес страницы будет искать код сапы в своей базе ссылок для вашего сайта. Переменная $_SERVER['REDIRECT_URL'] содержит название запрашиваемого документа без GET-параметров! Например, если в адресной строке запрошен адрес <a href="http://www.site.ru/category/page.html?link=1">http://www.site.ru/category/page.html?link=1</a>, то в этой переменной будет только /category/page.html! То есть, с какими бы GET-параметрами не запросили страницу, сапа все равно будет искать один и тот же адрес в базе ссылок. REDIRECT_URL для главной страницы сайта не указывается, поэтому в опции сапы передается пустая строка. На нормально сконфигурированном Апаче и PHP и включенном ЧПУ все работает идеально, как будет работать с другими серверами и настройками я не знаю, для меня это темный лес пока =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/snova-o-zashhite-prodazhnyx-ssylok-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Оригинальный способ отправки резюме</title>
		<link>http://www.ksenzov.ru/originalnyj-sposob-otpravki-rezyume.html</link>
		<comments>http://www.ksenzov.ru/originalnyj-sposob-otpravki-rezyume.html#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:54:22 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Успех]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=135</guid>
		<description><![CDATA[Многие по-настоящему целеустремленные профессионалы, как правило, имеют список компаний, в которых они бы хотели работать. Проблема в том, что в этих компаниях хотят работать не только они, претендентов хватает, а в период кризиса их стало еще больше. Можно, конечно, отправить свое резюме в эти компании и надеяться, что когда-нибудь вас заметят и пригласят на какую-нибудь [...]]]></description>
			<content:encoded><![CDATA[<p>Многие по-настоящему целеустремленные профессионалы, как правило, имеют список компаний, в которых они бы хотели работать. Проблема в том, что в этих компаниях хотят работать не только они, претендентов хватает, а в период кризиса их стало еще больше. Можно, конечно, отправить свое резюме в эти компании и надеяться, что когда-нибудь вас заметят и пригласят на какую-нибудь более-менее подходящую должность, но будьте уверены, это случится не скоро. Куда лучше проявить творческий подход и выделить себя среди толпы конкурентов! Об одном таком творческом подходе хотел бы сегодня рассказать.</p>
<p>Один американец мечтал о работе в одной из пяти рекламных агенств, но банальной отправкой своего резюме он не ограничился, а проявил гибкость ума и творческий подход. Он использовал систему Google AdWords, которая позволяет отображать рекламные объявления в результатах поиска в Гугле по ключевым словам. В качестве ключевых слов он указал имена генеральных директоров этих компаний, а в тексте объявлений написал примено следующее: &laquo;Здравствуйте! Искать себя в сети полезно, но принять меня на работу будет еще полезнее!&raquo;.</p>
<p>Поняли фишку? Многие люди, особенно в рекламном бизнесе, часто ищут в сети свое имя и имя своей компании, чтобы всегда быть вкурсе что о них пишут другие. И при очередном таком мониторигне, генеральный директор увидин на первом месте такое вот объявление! Если он перейдет по нему, то сможет прочитать резюме соискателя!</p>
<p>Ну разве не прелесть? Стоти ли говорить, что меньше чем за месяц, этот парень получил целых два предложения от двух компаний, в которых он мечтал работать? Невероятный результат!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/originalnyj-sposob-otpravki-rezyume.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Перезагрузка мозга</title>
		<link>http://www.ksenzov.ru/perezagruzka-mozga.html</link>
		<comments>http://www.ksenzov.ru/perezagruzka-mozga.html#comments</comments>
		<pubDate>Mon, 10 May 2010 04:25:01 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Развитие памяти и внимания]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=132</guid>
		<description><![CDATA[Сегодня мой знакомый рассказал мне об интересном способе &#171;перезагрузки&#187; мозга, чтобы снять с него усталость и продолжать работать. Нужно это для поддержки аврального образа жизни, который, к сожалению, сейчас ведут многие. Сразу оговорюсь: способ помогает только снять симптом усталости, вы будете чувствовать себя свежим и выспавшимся, пропадет вялость и тяжесть в конечностях.
Нам потребуется 15 минут [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня мой знакомый рассказал мне об интересном способе &laquo;перезагрузки&raquo; мозга, чтобы снять с него усталость и продолжать работать. Нужно это для поддержки аврального образа жизни, который, к сожалению, сейчас ведут многие. Сразу оговорюсь: способ помогает только снять симптом усталости, вы будете чувствовать себя свежим и выспавшимся, пропадет вялость и тяжесть в конечностях.</p>
<p>Нам потребуется 15 минут свободного времени, чашка кофе, и возможность уединиться и поспать.</p>
<p>Итак, вы устали, валитесь сног... залпом выпиваете чашку кофе и ложитесь спать. Предварительно поставьте будильник на 15 минут. За это время оргазизм сможет побывать только в стадии быстрого сна, в которой, судя по данным википедии, происходит упорядочивание информации, но не успеет провалиться в медленный сон. Через 15 минут вас разбудит будильник, и вы будете чувствовать себя как после нормального восьмичасового сна!</p>
<p>Если провалитесь в медленный сон, то скорее всего будильник вас даже не разбудит, а если и разбудит, вы будете себя чувствовать разбитым и подавленным, так что не ставьте будильник больше чем на 15 минут.</p>
<p>Тело после такого сна не отдохнет, но голова будет свежая и вы снова сможете думать =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/perezagruzka-mozga.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Защита продажных ссылок</title>
		<link>http://www.ksenzov.ru/zashhita-prodazhnyx-ssylok.html</link>
		<comments>http://www.ksenzov.ru/zashhita-prodazhnyx-ssylok.html#comments</comments>
		<pubDate>Tue, 04 May 2010 16:46:18 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Разработка]]></category>
		<category><![CDATA[защита ссылок]]></category>
		<category><![CDATA[продажа ссылок]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=125</guid>
		<description><![CDATA[Озаботился не так давно защитой своих сайтов от детекторов продажных ссылок, типа http://www.venality.ru. Если вы не защищаете продажные ссылки, попробуйте ввести туда адрес страницы, на которой у вас проданы ссылки, он скорее всего определит их. Работает он просто: к адресу страницы добавляются динамические параметры, вроде ?sape=1, в результате чего страница для скрипта биржи ссылок становится [...]]]></description>
			<content:encoded><![CDATA[<p>Озаботился не так давно защитой своих сайтов от детекторов продажных ссылок, типа http://www.venality.ru. Если вы не защищаете продажные ссылки, попробуйте ввести туда адрес страницы, на которой у вас проданы ссылки, он скорее всего определит их. Работает он просто: к адресу страницы добавляются динамические параметры, вроде <em>?sape=1</em>, в результате чего страница для скрипта биржи ссылок становится уже другой, и ссылки с нее пропадают. Хотя, ппо факту, ничего другого на странице не меняется.</p>
<p>Конечно, сомнительно, что поисковики будут так фильтровать продажные ссылки, но лучше перестраховаться =)</p>
<p>В сети полно скриптов на эту тему, некоторые занимают по 100 и больше строк! Я обошелся всего двумя =) Но скажу сразу, у меня почти все сайты на Wordpress, и скрипт писался именно под вордпресс с включенным ЧПУ. Вот эти строки нужно добавить в шаблон <em>header.php</em>, они должны быть самыми первыми, до тега <em>HTML</em> и <em>DOCUTYPE</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> AND <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'s'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: http://'</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>В первой строке мы делим URL-адрес на две части: в одной адрес самой страницы, типа <em>index.html</em>, а в другой&nbsp;&mdash; все дополнительные параметры, все, что после знака вопроса.</p>
<p>Во второй строке мы проверяем, есть ли что-то во второй части адреса, и не производился ли поиск (<em>$_GET['s']</em> проверяет, не установлена ли переменная <em>s</em>, в кооторой задается строка поиска в вордпрессе)</p>
<p>Если есть какие-то дополнительные параметры в строке, и если это не строка поиска, то идет перенаправление на страницу без параметров. Элементарно =)</p>
<p>На самом деле, мне кажется тут нужно быть немного строже, делать не перенаправление, а отдавать ошибку 404, типа &laquo;страница не найдена&raquo;, ибо это логично&nbsp;&mdash; нет такой страницы, с такими параметрами. Посмотрите, например, как сделано в Гугле, если подставить левый параметр, то выдается ошибка 404.</p>
<p>Если кто хочет отдавать ошибку, то замените вторую строку скрипта на:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> AND <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'s'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.0 404 Not Found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Я пока поставил оба варианта, на разных сайтах. Ни один детектор продажных ссылок не определяет факт продажности =) Пользуйтесь, на здоровье!</p>
<p>Кстати, спустя какое-то время доработал скрипт, теперь уже в две строки не уложился, зато предусмотрен список разрешенных параметров, которые не выбрасываются, зато все остальные вырезаются. Вот он:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$allows</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cid'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'replytocom'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ads_basecat'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'page_id'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ADS_EDIT_POST'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">parse_str</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$qv</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$qv</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$allows</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$q</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$key</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'='</span><span style="color: #339933;">.</span><span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #000088;">$dis</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dis</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$q</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: http://'</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$q</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$q</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: http://'</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>В переменную <em>$allows</em> вписываем все параметры, которые нам не надо вырезать (через запятую, и в апострофах). В данном скрипте у меня записаны некоторые переменные вордпресса и плагинов, которыми я пользуюсь.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/zashhita-prodazhnyx-ssylok.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Модифицируем галерею Wordpress</title>
		<link>http://www.ksenzov.ru/modificiruem-galereyu-wordpress.html</link>
		<comments>http://www.ksenzov.ru/modificiruem-galereyu-wordpress.html#comments</comments>
		<pubDate>Mon, 03 May 2010 18:29:51 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[галерея]]></category>
		<category><![CDATA[плагины]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=117</guid>
		<description><![CDATA[Для сайта с рецептами приготовления блюд с иллюстрациями каждого шага, потребовалась простая и наглядная система добавления шагов-рисунков с кратким описанием каждого шага. В стандартной галерее вордпресса (шорткод GALLERY) уже реализован весь необходимый функционал: можно пачкой загружать фотки, прописывать к ним названия, описания и выводить в нужном порядке. Однако есть несколько &#171;НО&#187;:

невозможно в галерее вывести описание к изображению, его можно вывести только [...]]]></description>
			<content:encoded><![CDATA[<p>Для сайта с рецептами приготовления блюд с иллюстрациями каждого шага, потребовалась простая и наглядная система добавления шагов-рисунков с кратким описанием каждого шага. В стандартной галерее вордпресса (шорткод <em>GALLERY</em>) уже реализован весь необходимый функционал: можно пачкой загружать фотки, прописывать к ним названия, описания и выводить в нужном порядке. Однако есть несколько &laquo;НО&raquo;:</p>
<ul>
<li>невозможно в галерее вывести описание к изображению, его можно вывести только в шаблоне приложений, типа image.php, но нам нужно вывести их на странице самого поста.</li>
<li>невозможно как-то значительно влиять на дизайн галереи, мы не можем, например, физически переместить заголовок изображения выше самого изображения (по умолчанию заголовок идет как подпись под картинкой)</li>
</ul>
<p>В общем, разработчикам вордпресса есть еще над чем работать, надеюсь, в третьей ветке значительным изменениям подвергнется и стандартная галерея, тогда можно будет со спокойной душой выкинуть тормознутые галереи-плагины типа &laquo;NextGEN Gallery&raquo;. Кстати, используя данный плагин вполне возможно выполнить поставленную задачу, однако такое решение выглядит несколько туповато, учитывая что все необходимые возможности уже реализованы в стандартной галереи, и все дело лишь в ее внешнем виде. Зачем изобретать велосипед, если можно просто его модернизировать?</p>
<h2>Модернизируем наш &laquo;велосипед&raquo;</h2>
<p>Любителям на досуге пописать плагинчики для вордпресса конечно же известны функции <em>add_shortcode</em> и <em>remove_shortcode</em>, первая регистрирует, а вторая удаляет регистрацию  шорткода. Шорткоды, если кто не знает, это специальные кодовые слова, которые можно прописывать прямо в теле статьи, и которые вызывают какую-то функцию. Например, шорткод <em>CAPTION</em> служит для вставки изображения с подписью, а шорткод <em>GALLERY</em>&nbsp;&mdash; необходимую нам стандартную галерею вордпресс.</p>
<p>Нам нужно всего лишь <strong>переписать функцию вывода на экран галереи</strong> и сделать так, чтобы шортег <em>GALLERY</em> вызывал именно нашу функцию, а не стандартную. Сделать это проще, чем вы можете подумать =)</p>
<p>В первую очередь нам нужно <strong>отключить стандартную функцию галереи</strong>. Открываем файл <em>functions.php</em>, и вставляем в конец файла (до знака &laquo;?&gt;&raquo;) строку:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">remove_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'gallery'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Затем нам нужна <strong>новая функция вывода галереи</strong>. Крутые программисты наверняка напишут ее сами, но лично мне нужно всего лишь добавить пару фишек к стандартной галерее, поэтому я просто немного изменю стандартную функцию, текст которой находится в файле <em>wp-includes/media.php</em> и называется <em>gallery_shortcode</em>. Файл большой, поэтому воспользуйтесь функцией поиска.</p>
<p>Для версии вордпресс 2.9.2 эта функция выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> gallery_shortcode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wp_locale</span><span style="color: #339933;">;</span>
&nbsp;
	static <span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$instance</span><span style="color: #339933;">++;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Allow plugins/themes to override the default gallery template.</span>
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_gallery'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$output</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// We're trusting author input, so let's at least make sure it looks like a valid orderby statement</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> sanitize_sql_orderby<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'order'</span>      <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ASC'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'orderby'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'menu_order ID'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'id'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'itemtag'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dl'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'icontag'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dt'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'captiontag'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dd'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'columns'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'size'</span>       <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'thumbnail'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'include'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'exclude'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'RAND'</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$order</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$orderby</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'none'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$include</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$include</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/[^0-9,]+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$include</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$_attachments</span> <span style="color: #339933;">=</span> get_posts<span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$include</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$_attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$attachments</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$val</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_attachments</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$exclude</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$exclude</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/[^0-9,]+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$exclude</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> get_children<span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_parent'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'exclude'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$exclude</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> get_children<span style="color: #009900;">&#40;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_parent'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachments</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> is_feed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$att_id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$attachment</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$att_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$itemtag</span> <span style="color: #339933;">=</span> tag_escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$itemtag</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$captiontag</span> <span style="color: #339933;">=</span> tag_escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$captiontag</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$columns</span> <span style="color: #339933;">=</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$itemwidth</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">/</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$float</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wp_locale</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">text_direction</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'rtl'</span> ? <span style="color: #0000ff;">'right'</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'left'</span><span style="color: #339933;">;</span> 
&nbsp;
	<span style="color: #000088;">$selector</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;gallery-<span style="color: #006699; font-weight: bold;">{$instance}</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'gallery_style'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;
		&lt;style type='text/css'&gt;
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> {
				margin: auto;
			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> .gallery-item {
				float: <span style="color: #006699; font-weight: bold;">{$float}</span>;
				margin-top: 10px;
				text-align: center;
				width: <span style="color: #006699; font-weight: bold;">{$itemwidth}</span>%;			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> img {
				border: 2px solid #cfcfcf;
			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> .gallery-caption {
				margin-left: 0;
			}
		&lt;/style&gt;
		&lt;!-- see gallery_shortcode() in wp-includes/media.php --&gt;
		&lt;div id='<span style="color: #006699; font-weight: bold;">$selector</span>' class='gallery galleryid-<span style="color: #006699; font-weight: bold;">{$id}</span>'&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$attachment</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #0000ff;">'file'</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span> ? wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt; <span style="color: #006699; font-weight: bold;">{$itemtag}</span> class='gallery-item'&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt; <span style="color: #006699; font-weight: bold;">{$icontag}</span> class='gallery-icon'&gt;
				<span style="color: #006699; font-weight: bold;">$link</span>
			&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$captiontag</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
				&lt; <span style="color: #006699; font-weight: bold;">{$captiontag}</span> class='gallery-caption'&gt;
				&quot;</span> <span style="color: #339933;">.</span> wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
				&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">++</span><span style="color: #000088;">$i</span> <span style="color: #339933;">%</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&lt;br style=&quot;clear: both&quot; /&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt;br style='clear: both;' /&gt;
		&lt;/div&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Эту функцию нужно просто вставить в файл <em>functions.php</em> вашей темы и внести нужные вам изменения. Скорее всего потребуются небольшие знания PHP. Я всего лишь добавил следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_content</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
				&lt; <span style="color: #006699; font-weight: bold;">{$captiontag}</span> class='gallery-description'&gt;
				&quot;</span> <span style="color: #339933;">.</span> wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_content</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
				&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span></pre></div></div>

<p>сразу после:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$captiontag</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
				&lt; <span style="color: #006699; font-weight: bold;">{$captiontag}</span> class='gallery-caption'&gt;
				&quot;</span> <span style="color: #339933;">.</span> wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
				&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Благодаря этой вставке, в галерее теперь будут отображаться описания к файлам. Все просто!</p>
<p>Если не хотите, чтобы в галерее отображалась <strong>миниатюра</strong>, просто замените строку:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #0000ff;">'exclude'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span></pre></div></div>

<p>На:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #0000ff;">'exclude'</span>    <span style="color: #339933;">=&gt;</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_thumbnail_id'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Теперь нужно снова <strong>включить шортаг</strong> <em>GALLERY</em>, но уже с нашей функцией. Кстати, название функции необходимо изменить, иначе это вызовет фатальную ошибку (старая функция галереи все еще доступна в файле <em>media.php</em>, и я не советую ее удалять!) Просто переименуйте функцию из <em>gallery_shortcode</em> в, например, <em>new_gallery_shortcode</em>.</p>
<p>Чтобы шортаг снова заработал, добавьте в <em>functions.php</em> строку:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'gallery'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'new_gallery_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Она должна быть после <em>remove_shortcode</em> и нашей новой функции.</p>
<p>Кстати, <strong>не обязательно отключать функцию стандартной галереи</strong>, можно сделать все тоже самое, но в <em>add_shortcode</em> написать, например:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'new_gallery'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'new_gallery_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Тем самым мы создадим новый шорткод <em>NEW_GALLERY</em> и сможем его использовать при написании поста (ставлять придется ручками, в режиме HTML. Таким макаром можно связать любую функцию с шорткодом, какую захотите!</p>
<p>Вот, собственно, и все =) Сохраняем файл и смотрим результат! Для людей, немного знакомых с программированием, не будет проблемой дописать любые фишки к стандартной галерее, и значительно расширить ее функционал, без всяких плагинов.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/modificiruem-galereyu-wordpress.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Wordpress 3.0, как же я тебя жду!</title>
		<link>http://www.ksenzov.ru/wordpress-3-0-kak-zhe-ya-tebya-zhdu.html</link>
		<comments>http://www.ksenzov.ru/wordpress-3-0-kak-zhe-ya-tebya-zhdu.html#comments</comments>
		<pubDate>Fri, 09 Apr 2010 15:09:36 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Wordpress 3]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=108</guid>
		<description><![CDATA[Решил я присоединиться к волне блоггеров, пишуших о грядущей третьей версии популярного движка. Правда волну я буду гнать в другую сторону =)
Ребят, это здорово, это классно, это охренительно! Теперь можно создавать свои типы постов, свою таксономию к ним (теги, категории), свои меню, куда теперь можно включить категории, страницы, свои ссылки! Вы только представьте, какие возможности у плагиноделов [...]]]></description>
			<content:encoded><![CDATA[<p>Решил я присоединиться к волне блоггеров, пишуших о грядущей третьей версии популярного движка. Правда волну я буду гнать в другую сторону =)</p>
<p>Ребят, это здорово, это классно, это охренительно! Теперь можно создавать свои типы постов, свою таксономию к ним (теги, категории), свои меню, куда теперь можно включить категории, страницы, свои ссылки! Вы только представьте, какие возможности у плагиноделов появляются с таким функционалом! Совсем скоро появятся специальные сборки тем, адаптированных для автосайтов, сайтов кино, новостей и прочего. Не просто темы с дизайном под автотематику, а с полным набором разделов (в админке) для ведения подобного сайта, с виджетами, менюшками, типами постов и тому подобным!</p>
<p>Теперь, благодаря слиянию WP и WPMU появилась возможность создавать, а главное расширять в дальнейшем, комьюнити пользователей на сайте. То есть, как только назревает потребность в расширении возможностей пользователя на сайте, не придется перерывать кучу плагинов в поисках нужного функционала, не придется адаптировать эти плагины к уже существующим, да практически вообще ничего не придется делат! Изменили пару настроек и вперед!</p>
<p>Боже, сколько ночей я потратил на то, чтобы нормально настроить шаблоны по категориям, разбить теги по категориям, сделать несколько независящих друг от друга разделов на сайте, чтобы в каждом была своя фишка, свои особенности! Сколько пересматривал плагинов в поисках того единственного, который хоть как-то можно использовать, пусть и с переделками... Все это теперь можно будет сделать за минуты, притом даже без знания программирования и без плагинов!</p>
<p>Вордпресс превращается в CMS. Немного запоздало, так как очень многие именно как CMS ее и используют уже давно, но уж лучше поздно =) И я бесконечно рад этому факту! Хочу хотя бы со страниц своего блога выразить благодарность всем разработчикам и активным тестерам вордпресса: ребята, вы делаете по-настоящиму удобную, простую, но современную CMS, именно такой, какой она нужна в данный момент многим!</p>
<p>А тем блоггерам, кто пишет как их разочаровывают новые версии вордпресса, я скажу одно: <span style="text-decoration: line-through;">идите в жопу</span> переходите на другую систему управления! Нет, правда! Вы все равно не способны увидеть открывающихся, в связи с выходом тройки, перспектив! Для нормального блога хватает функций вордпресса первой ветки, все эти функции уже давно реализованы в других движках.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/wordpress-3-0-kak-zhe-ya-tebya-zhdu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вставляем изображения в комментарии wordpress</title>
		<link>http://www.ksenzov.ru/vstavlyaem-izobrazheniya-v-kommentarii-wordpress.html</link>
		<comments>http://www.ksenzov.ru/vstavlyaem-izobrazheniya-v-kommentarii-wordpress.html#comments</comments>
		<pubDate>Thu, 08 Apr 2010 06:52:47 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[comment image]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[изображения]]></category>
		<category><![CDATA[комментарии]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=101</guid>
		<description><![CDATA[Озаботился я сегодня проблемой вставки изображений в комментарии. То есть, стояла задача: дать комментаторам возможность вставлять свои изображения в комментарии. На самом деле, для этих целей нашелся уже готовый плагин (ну как за это не любить вордпресс?) под названием Comment Image, он делает именно то, что нужно! Более того, он еще автоматически создает миниатюры и автоматически [...]]]></description>
			<content:encoded><![CDATA[<p>Озаботился я сегодня проблемой вставки изображений в комментарии. То есть, стояла задача: дать комментаторам возможность вставлять свои изображения в комментарии. На самом деле, для этих целей нашелся уже готовый плагин (ну как за это не любить вордпресс?) под названием <a href="http://wordpress.org/extend/plugins/comment-image/">Comment Image</a>, он делает именно то, что нужно! Более того, он еще автоматически создает миниатюры и автоматически вставляет их в тело комментария со ссылкой на оригинал. Настроек у скрипта минимум:</p>
<div id="attachment_102" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.ksenzov.ru/uploads/comment1.jpg" rel="lightbox[101]"><img class="size-medium wp-image-102" title="Страница настроек плагина" src="http://www.ksenzov.ru/uploads/comment1-300x160.jpg" alt="" width="300" height="160" /></a><p class="wp-caption-text">Страница настроек плагина</p></div>
<p><strong>Image selection field</strong>&nbsp;&mdash; это метод вставки поля для загрузки изображения в форму.</p>
<ol>
<li><em>Inject via WordPress hook</em>&nbsp;&mdash; вставит это поле автоматически, используя средства вордпресса. В большинстве случаев сработает, но если шаблон делался через заднее место, то ничего не отобразится</li>
<li><em>Inject via Javascript</em>&nbsp;&mdash; поле вставится через яваскрипт. Сработает обязательно, если у пользователя в браузере разрешены эти самые скрипты. В принципе, разрешены они сейчас у всех.</li>
<li><em>Do not inject, manually added</em>&nbsp;&mdash; это если вы сами захотите вставить поле в шаблон. Ручками =)</li>
</ol>
<p>В последнем случае вам нужно будет отредактировать файл comment.php в вашем шаблоне, найти там форму отправки комментария и вставить код, вроде этого:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>input <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;image&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;image&quot;</span> size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;32&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;file&quot;</span> tabindex<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;4&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;url&quot;</span><span style="color: #339933;">&gt;</span>Приложить изображение <span style="color: #009900;">&#40;</span>JPEG<span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;/</span>label<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Не забыть сохранить его на сервере в кодировке UTF-8 без BOM.</p>
<p><strong>Image field label</strong>&nbsp;&mdash; это текст рядом с полем загрузки.</p>
<p><strong>Thumbnail width</strong>&nbsp;&mdash; это ширина создаваемой плагином миниатюры. Кстати, все миниатюры сохраняются в автоматически созданную папу /wp-content/comment-image/. Плюс этого в том, что все создается и сохраняется автоматически. Минус в том, что многие выносят папку uploads из папки wp-content, чтобы разделить пользовательское содержимое от программной части. Мелочь, думаю исправит автор в следующий релиз.</p>
<p>Вот как все выглядит в итоге:</p>
<div id="attachment_106" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.ksenzov.ru/uploads/comment2.jpg" rel="lightbox[101]"><img class="size-medium wp-image-106" title="Комментарий с загруженным рисунком" src="http://www.ksenzov.ru/uploads/comment2-300x188.jpg" alt="" width="300" height="188" /></a><p class="wp-caption-text">Комментарий с загруженным рисунком</p></div>
<p>Казалось бы, все готово, можно выпускать новую фичу на сайт? А нифига! Картинка в коммент загружается, ссылка с миниатюры на оригинал стоит, но вот мой любимый плагин <a href="http://wordpress.org/extend/plugins/lightbox-2/">lightbox 2</a> не хочет эти картинки делать всплывающими, при клике тупо загружается оригинал в браузере =(</p>
<p>В принципе, причина нашлась быстро. Лайтбокс обрабатывает только текст статьи и ее анонс, а тексты комментариев не умеет (ну кто ж мог подумать, что кто-то научит вордпресс вставлять изображения и в комментарии?). Думаю, большинство подобных лайтбоксу плагинов этого не умеют делать, я не стал перебирать их, и буду вам признателен, если вы отпишитесь, с каким плагином у вас заработало.</p>
<p>Я просто научил свой лайтбокс обрабатывать комментарии, и сейчас научу вас, как это сделать на вашем блоге и с вашим любимым плагином для изображений =)</p>
<p>Открываете основной файл плагина, обычно он лежит в папке /wp-content/plugins/плагин/плагин.php и ищите там строку:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_content'</span></pre></div></div>

<p>Именно такую, так как продолжение ее может отличаться в зависимости от плагина. Для Lightbox 2 она выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_content'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'autoexpand_rel_wlightbox'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Нам нужно добавить точно такую же строку после нее, только the_content поменять на comment_text, сохранить файл и залить его назад на сервер. Все =) Теперь изображения из комментариев тоже всплывающие.</p>
<p>Если вы тоже пользуетесь плагином Lightbox 2, то можете просто <a href="http://www.ksenzov.ru/uploads/lightbox-2.zip">скачать исправленную версию lightbox-2</a>.</p>
<p>Удачного дня =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/vstavlyaem-izobrazheniya-v-kommentarii-wordpress.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Проверяйте темы Вордпресс!</title>
		<link>http://www.ksenzov.ru/proveryajte-temy-vordpress.html</link>
		<comments>http://www.ksenzov.ru/proveryajte-temy-vordpress.html#comments</comments>
		<pubDate>Thu, 08 Apr 2010 00:02:49 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=99</guid>
		<description><![CDATA[Назрела необходимость сменить дизайн на одном сайте. Так как он на вордпрессе, решил поискать готовые варианты и потом обработать напильником. Думаю, многие так делают. Погуглил сайты тем по нужным мне ключевикам, нашел приличный шаблон, скачал, сунул на сайт и включил в предпросмотре, чтобы отредактировать все что мне нужно в живую, как говорится.
Мама родная, залез в single.php [...]]]></description>
			<content:encoded><![CDATA[<p>Назрела необходимость сменить дизайн на одном сайте. Так как он на вордпрессе, решил поискать готовые варианты и потом обработать напильником. Думаю, многие так делают. Погуглил сайты тем по нужным мне ключевикам, нашел приличный шаблон, скачал, сунул на сайт и включил в предпросмотре, чтобы отредактировать все что мне нужно в живую, как говорится.</p>
<p>Мама родная, залез в single.php и офигел! Нет, многие бы и не заметили этого, но у меня уже глаз наметан: наровне с функцией bloginfo (), которая запрашивает основные данные о блоге, вроде заголовка и описания, там использовалась еще и bloqinfo (), то есть &laquo;q&raquo; вместо &laquo;g&raquo;. Залез в functions.php и посмотрел, что делает эта функция. Оказалось ничего страшного, она просто показывает ссылки на сайт засранца. Притом они были скрытые, в таблицу стилей был добавлен особый класс с display:none для таких ссылок.</p>
<p>В общем, господа, не стоит доверять всему, что вы скачиваете, даже если это крупные сборники чего-либо. Скачав новую тему для вордпресса или любого другого движка, обязательно проверьте исходники шаблона на наличие подобных вставок, если вы разбираетесь в программировании. Либо просто откройте исходный код страницы после активации шаблона, и найдите все ссылки, например по сочетанию &laquo;http://&raquo;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/proveryajte-temy-vordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Необычный способ монетизации и рекламы&#160;&#8212; VoteTraffic</title>
		<link>http://www.ksenzov.ru/votetraffic.html</link>
		<comments>http://www.ksenzov.ru/votetraffic.html#comments</comments>
		<pubDate>Sun, 04 Apr 2010 17:05:10 +0000</pubDate>
		<dc:creator>Илья</dc:creator>
				<category><![CDATA[Партнерские программы]]></category>
		<category><![CDATA[VoteTraffic]]></category>
		<category><![CDATA[монетизация]]></category>
		<category><![CDATA[реклама]]></category>

		<guid isPermaLink="false">http://www.ksenzov.ru/?p=93</guid>
		<description><![CDATA[В современном рунете уже сложно найти информационный сайт без рекламных блоков Адсенса, Директа, тизеров различных систем или просто баннеров. Естественно, у многих простых серферов сети уже давно выработался определенный иммунитет к объявлениям и вызывающим картинкам. Поэтому у вебмастеров появилась потребность в каком-то необычном способе монетизации.
Одним из таких необычных способов можно назвать биржу трафика VoteTraffic, которая [...]]]></description>
			<content:encoded><![CDATA[<p>В современном рунете уже сложно найти информационный сайт без рекламных блоков Адсенса, Директа, тизеров различных систем или просто баннеров. Естественно, у многих простых серферов сети уже давно выработался определенный иммунитет к объявлениям и вызывающим картинкам. Поэтому у вебмастеров появилась потребность в каком-то необычном способе монетизации.</p>
<p>Одним из таких необычных способов можно назвать <a href="http://votetraffic.ru" target="_blank">биржу трафика VoteTraffic</a>, которая предлагает монетизировать... голосовалки =) то есть, те самые формочки с вопросами типа:</p>
<div id="attachment_94" class="wp-caption aligncenter" style="width: 258px"><a href="http://www.ksenzov.ru/uploads/votetrafic1.jpg" rel="lightbox[93]"><img class="size-full wp-image-94" title="Пример формы голосования" src="http://www.ksenzov.ru/uploads/votetrafic1.jpg" alt="" width="248" height="154" /></a><p class="wp-caption-text">Пример формы голосования</p></div>
<p>Как это происходит? Да очень просто! Рекламодатель в этой системе создает не рекламное объявление, а рекламное голосование, вроде этого:</p>
<div id="attachment_95" class="wp-caption aligncenter" style="width: 267px"><a href="http://www.ksenzov.ru/uploads/votetrafic2.jpg" rel="lightbox[93]"><img class="size-full wp-image-95" title="Пример голосования VoteTraffic" src="http://www.ksenzov.ru/uploads/votetrafic2.jpg" alt="" width="257" height="110" /></a><p class="wp-caption-text">Пример голосования VoteTraffic</p></div>
<p>Если пользователь действительно хочет &laquo;создать свою уникальную диету без смс&raquo; и проголосует за этот пункт, в новом окне откроется сайт рекламодателя. Согласитесь, очень элегантно и просто! Система позволяет выбрать тематику голосований по каталогу, так что на вашем сайте о финансах будет реклама из серии &laquo;Куда вы хотите вложить деньги?&raquo; а на сайте для взрослых вас спросят, хотите ли вы секса без обязательств =)</p>
<p>Так как система новая (официально она открылась буквально несколько дней назад) цена перехода всего 30 копеек, и не так много рекламодателей, но доход она может приносить уже сейчас! Ведь вас никто не заставляет отказываться от уже используемых систем монетизации, просто выделите небольшой блок под форму голосования, и получайте дополнительные прибыли! В глаза эта форма не бросается, даже наоборот, в каком-то смысле дополняет сайт.</p>
<p>Я бы хотел обратить внимание на эту систему не только вебмастеров, но и рекламодателей, на мой взгляд она может быть очень полезна при раскрутке востребованных товаров и услуг. При этом вы получите действительно заинтересованных поспетителей по очень низким ценам (по крайней мере пока).</p>
<p><a href="http://votetraffic.ru" target="_blank">Регистрация в системе</a> только по приглашениям, которое вы можете получить по ICQ у администрации системы, или воспользоваться одним из этого списка:</p>
<ul>
<li>roaxub57s4t0k19i3g94</li>
<li>sdnjlk9kuxla435qhm72</li>
<li>lw2q21oxtufjze7ez6z1</li>
<li>heqp66pacueti4t0zfxb</li>
<li>z9rrqqyx6mas2sxvu583</li>
<li>wq7o4wofg3w82tw2yusw</li>
<li>7cdb78ar2o63o3we4ahi</li>
<li>rjy5cic2f73alt9hwoz4</li>
<li>khc1ib4w8opwmh6svjeq</li>
<li>f6a70odwk669akmltlze</li>
</ul>
<p>Если у вас персональный блог с постоянной аудиторией, могу посоветовать встаивать голосовалки в сайдбар, желательно чтобы форма была видна на первом экране.</p>
<p>Для тематических сайтов, сборников статей, энциклопедий лучше встраивать голосовалку сразу после статьи. Хорошо если сайт действительно тематический, например по диетам или автомобилям, тогда можно достигнуть действительно неплохой &laquo;кликабельности&raquo; по этим голосовалкам: прочитав статью о диетах, посетитель наверняка заинтересуется возможностью составления своей собственной!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ksenzov.ru/votetraffic.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
