<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.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>Блоговод</title>
	
	<link>http://blogcoding.ru</link>
	<description>Блоговодство и блоговедение</description>
	<lastBuildDate>Mon, 23 Apr 2012 18:06:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/minimus" /><feedburner:info uri="minimus" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>minimus</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Переезд. VDS/VPS хостинг</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/-6PuffQWejk/</link>
		<comments>http://blogcoding.ru/archives/pereezd-vds-vps-hosting/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 18:06:38 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Блоггинг]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[блог]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=3020</guid>
		<description><![CDATA[В одной из прошлых статей, я упоминал о том, что собираюсь протестировать виртуальный (довольно дорогой) хостинг и хостинг на виртуальном выделенном сервере (VDS/VPS) для того, чтобы выбрать для этого блога наиболее оптимальный из них. Время тестирования закончилось и пришло время подводить итоги. Для тех, кто не в курсе, по тем или иным причинам, коротко объясняю, [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/pereezd-s-problemami/' rel='bookmark' title='Переезд с проблемами'>Переезд с проблемами</a></li>
<li><a href='http://blogcoding.ru/archives/pereezd-bez-problem/' rel='bookmark' title='Переезд без проблем'>Переезд без проблем</a></li>
<li><a href='http://blogcoding.ru/archives/file-hosting/' rel='bookmark' title='Файл-хостинг для блоггера'>Файл-хостинг для блоггера</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/04/vps-200.jpg"><img class="alignleft size-full wp-image-3023" style="margin-right: 10px;" title="vps-200" src="http://blogcoding.ru/wp-content/uploads/2012/04/vps-200.jpg" alt="" width="200" height="127" /></a>В одной из <a title="Переезд с проблемами" href="http://blogcoding.ru/archives/pereezd-s-problemami/" target="_blank">прошлых статей</a>, я упоминал о том, что собираюсь протестировать виртуальный (довольно дорогой) хостинг и хостинг на виртуальном выделенном сервере (VDS/VPS) для того, чтобы выбрать для этого блога наиболее оптимальный из них. Время тестирования закончилось и пришло время подводить итоги.</p>
<p>Для тех, кто не в курсе, по тем или иным причинам, коротко объясняю, что такое VDS/VPS сервер:</p>
<p>VPS (Virtual Private Server) или VDS (Virtual Dedicated Server) — услуга, в рамках которой пользователю предоставляется так называемый Виртуальный выделенный сервер. В плане управления операционной системой по большей части она соответствует физическому выделенному серверу. В частности: root-доступ, собственные IP-адреса, порты, правила фильтрования и таблицы маршрутизации.<br />
<span id="more-3020"></span><br />
Внутри виртуального сервера можно создавать собственные версии системных библиотек или изменять существующие. Владелец VPS может удалять, добавлять, изменять любые файлы, включая файлы в корневой и других служебных директориях, а также устанавливать собственные приложения или настраивать/изменять любое доступное ему прикладное программное обеспечение.</p>
<p>В некоторых системах аппаратной виртуализации (к примеру — <strong>VMWare</strong> и <strong>Xen</strong>) также доступны для редактирования настройки ядра операционной системы и драйверов устройств.</p>
<p>Виртуальный выделенный сервер эмулирует работу отдельного физического сервера. На одной машине может быть запущено множество виртуальных серверов. Помимо некоторых очевидных ограничений, каждый виртуальный сервер предоставляет полный и независимый контроль и управление, как предоставляет его обычный выделенный сервер.</p>
<p>Каждый виртуальный сервер имеет свои процессы, ресурсы, конфигурацию и отдельное администрирование. Обычно, в качестве виртуального сервера используются свободно распространяемые версии операционных систем <strong>UNIX</strong> и <strong>GNU/Linux</strong>. Для эмуляции обычно используются технологии виртуальных машин.</p>
<p>Таким образом, <strong>Виртуальный Выделенный Сервер</strong> (VDS/VPS) обладает всеми преимуществами физического сервера, являясь практически полным его аналогом. Купив VDS, Вы получаете, пусть не очень большой, но собственный сервер, с полными административными правами, возможностью инсталлировать любое ПО и запускать любые сервисы.</p>
<p>Очень привлекательно! Не правда ли? Тем не менее, тестирование показало, что блог на VDS, при тех параметрах, которые я смог себе позволить, работает несколько медленнее блога на виртуальном хостинге. Несмотря на большое желание переехать, пусть на виртуальный, но всё-таки свой сервер, я уже было начал склоняться к виртуальному хостингу на <strong>TimeWeb</strong>. Как вдруг &#8230; Повторюсь, всё неприятное происходит &#8220;вдруг&#8221;. На второй неделе использования хостинга на <strong>TimeWeb</strong> в зашёл в раздел &#8220;Информация по нагрузке&#8221; своего аккаунта. То, что я там увидел, одновременно удивило и разочаровало меня:</p>
<p style="text-align: center;"><a href="http://blogcoding.ru/wp-content/uploads/2012/04/resources.jpg"><img class="size-full wp-image-3038 aligncenter" title="resources" src="http://blogcoding.ru/wp-content/uploads/2012/04/resources.jpg" alt="" width="550" height="686" /></a></p>
<p>Напомню: на этом хостинге был размещён лишь <strong>ОДИН</strong> сайт &#8211; этот блог. Блог, не являющийся сильно посещаемым, нагрузил процессор сервера по самое &#8220;не балуй&#8221;. Что же будет, если я перенесу на этот хостинг свой второй блог и два своих форума? Видимо, ничего хорошего &#8211; выгонят поганой метлой за нарушения, с формулировкой &#8220;зверское превышение нагрузки на сервер&#8221;. <img src='http://blogcoding.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Шутки шутками, но если серьёзно, один блог расходовал, если не учитывать пиковую нагрузку 31 марта, половину допустимой нагрузки на процессор. Если учесть то, что при публикации обновлений моих плагинов, трафик на обоих моих блогах (на этом и международном) возрастает в 3..5 раз и остаётся таким 5..10 дней после публикации, то становится очевидным, что бан неизбежен <img src='http://blogcoding.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  . Долго я не думал. Решение проблемы очевидно и я переехал со всем своим скарбом на FirstVDS. Теперь у меня есть свой, пусть виртуальный, но свой сервер!</p>
<p>Тем, кто захочет пойти по моим стопам или уже хочет, но не решается, хочу сказать, что ничего сверхъестественного для управления виртуальным сервером знать не надо. Для управления VDS на уровне реализации хостинга блога или форума быть гуру вовсе не обязательно. Если Вы пользуетесь <strong>ISPManager</strong> на виртуальном хостинге, а это одна из самых распространённых систем управления, то Вы, возможно, даже не почувствуете разницу между виртуальным хостингом и VDS.</p>
<p>Впрочем, небольшая разница есть. Став арендатором VDS и получив root доступ, Вы сможете создать сайт (домен) только после создания аккаунта пользователя VDS, т.е. для себя любимого. Другими словами, Вы &#8211; арендатор и root-пользователь являетесь администратором сервера, а Вы &#8211; пользователь являетесь пользователем виртуального хостинга, созданного Вами &#8211; администратором. Кстати, Вы можете создать виртуальный хостинг не только для себя, но и для кого-либо ещё и это не является нарушением правил использования. Впрочем, если Вам вдруг захочется попробовать себя реселлером хостинга, лучше пойти официальным путём и заключить официальное соглашение с владельцем ресурсов.</p>
<p>Разумеется есть и другие отличия, но они лишь расширяют Ваши возможности относительно виртуального хостинга. Это возможность подключить уже установленные, но неиспользуемые по умолчанию, библиотеки PHP, возможность загрузить и установить нестандартные библиотеки PHP, а также возможность перезагрузить сервер, если что-то пошло не так. В целом же все то же самое, что и в ISPManager для виртуального хостинга.</p>
<p>Если Вам это интересно &#8211; решайтесь!</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h3>Постовой</h3><p>Постоянное изменение алгоритмов поисковых систем приводит к тому, что ранее используемая стратегия продвижения сайта заходит в тупик и сайт начинает терять позиции по продвигаемым ключевым запросам. В этом случае нужен свежий взгляд специалистов со стороны. Необходим <a class="supad" href="http://sitepolice.ru/e-store/seo-analiz/" title="аудит продвижения сайта">аудит продвижения сайта</a>!</p></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=3020&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/pereezd-s-problemami/' rel='bookmark' title='Переезд с проблемами'>Переезд с проблемами</a></li>
<li><a href='http://blogcoding.ru/archives/pereezd-bez-problem/' rel='bookmark' title='Переезд без проблем'>Переезд без проблем</a></li>
<li><a href='http://blogcoding.ru/archives/file-hosting/' rel='bookmark' title='Файл-хостинг для блоггера'>Файл-хостинг для блоггера</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/q2bzRKQI7XOA7S1p-VXjCpc221k/0/da"><img src="http://feedads.g.doubleclick.net/~a/q2bzRKQI7XOA7S1p-VXjCpc221k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/q2bzRKQI7XOA7S1p-VXjCpc221k/1/da"><img src="http://feedads.g.doubleclick.net/~a/q2bzRKQI7XOA7S1p-VXjCpc221k/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/-6PuffQWejk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/pereezd-vds-vps-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/pereezd-vds-vps-hosting/</feedburner:origLink></item>
		<item>
		<title>Simple Ads Manager. Дорожная карта</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/ZJW5WlB7dsg/</link>
		<comments>http://blogcoding.ru/archives/simple-ads-manager-dorozhnaya-karta/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 17:06:31 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Плагины]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[реклама]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2971</guid>
		<description><![CDATA[&#8220;Дорожная карта&#8221; &#8211; не люблю это выражение, но уж больно популярным стало оно в последнее время. Выражение &#8220;дорожная карта&#8221; (road map) означает что-то вроде заявления о намерениях, план работ, ну, или, если хотите, перспективы развития. Попробую, в этой статье, рассказать о собственных планах в отношении плагина Simple Ads Manager, каким он будет в ближайшее время [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/simple-ads-manager-kak-eto-rabotaet/' rel='bookmark' title='Simple Ads Manager. Как это работает.'>Simple Ads Manager. Как это работает.</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-ads-manager/' rel='bookmark' title='WordPress плагин Simple Ads Manager'>WordPress плагин Simple Ads Manager</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/04/road.jpg"><img class="alignleft size-full wp-image-2988" style="margin-bottom: 5px; margin-right: 10px;" title="road" src="http://blogcoding.ru/wp-content/uploads/2012/04/road.jpg" alt="" width="200" height="146" /></a>&#8220;Дорожная карта&#8221; &#8211; не люблю это выражение, но уж больно популярным стало оно в последнее время. Выражение &#8220;дорожная карта&#8221; (road map) означает что-то вроде заявления о намерениях, план работ, ну, или, если хотите, перспективы развития. Попробую, в этой статье, рассказать о собственных планах в отношении плагина Simple Ads Manager, каким он будет в ближайшее время и каким я его вижу в более отдалённом будущем.</p>
<p>В самое ближайшее время я планирую опубликовать версию <strong>1.5</strong> этого плагина. Бета версия будет опубликована в ближайшие два дня на <a title="Форум поддержки SimpleLib" href="http://forum.simplelib.com" target="_blank">форуме поддержки SimpleLib</a>. В дальнейшем, я планирую приступить к разработке версии <strong>2.0</strong>. Дальше я пока не заглядывал, а потому, расскажу о нововведениях ожидающихся в этих двух версиях <strong>Simple Ads Manager</strong>.<br />
<span id="more-2971"></span></p>
<h2>Simple Ads Manager 1.5</h2>
<p>Коротко о нововведениях:</p>
<ol>
<li>Изменения в интерфейсе редактора рекламных объявлений</li>
<li>Изменения в запросах к базе данных для рубрик, авторов и т.д.</li>
<li>Поддержка флеш (SWF) баннеров</li>
<li>Журнал ошибок</li>
<li>Ограничения показа объявлений по пользователям</li>
<li>Прочие доработки</li>
</ol>
<h3>Изменения в интерфейсе редактора рекламных объявлений</h3>
<p>Если честно, я устал принимать сообщения возмущённых пользователей о том, что ничего не работает. На поверку оказывается, что человек хочет видеть рекламное объявление в режиме &#8220;изображение&#8221;, а включен режим код. Начиная с версии 1.5, в редакторе рекламных объявлений будут видны параметры только включенных режимов и опций, для всех остальных режимов и опций их параметры будут скрыты. Для того, чтобы увидеть параметры режима или опции, необходимо будет этот режим или опцию включить.</p>
<p style="text-align: center;"><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-place-editor.jpg' class='floatbox' rev='group: G22-4311 caption:`Редактор рекламного места` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-place-editor-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor.jpg' class='floatbox' rev='group: G22-4311 caption:`Редактор рекламного объявления` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a></p>
<p>Кроме того, я изменил способ ввода статей, рубрик, меток и авторов для ограничений показа объявления. Теперь не надо мучительно вспоминать id статьи, ярлык рубрики и т.п., нужно просто выбрать их из списка.</p>
<p style="text-align: center;"><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-page.jpg' class='floatbox' rev='group: G22-6066 caption:`Редактор объявлений. Страницы` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-page-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-cats.jpg' class='floatbox' rev='group: G22-6066 caption:`Редактор объявлений. Рубрики и метки` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-cats-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-adv.jpg' class='floatbox' rev='group: G22-6066 caption:`Редактор объявлений. Рекламодатели` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-ad-editor-adv-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a></p>
<h3>Изменения в запросах к базе данных для рубрик, меток и т.д.</h3>
<p>Здесь, увы, я накосячил в своё время. Если в названии рубрики или метки есть спецсимволы, начинаются проблемы. То же самое может происходить и с именами авторов. Надо было с самого начала использовать ярлыки, но &#8220;и на старуху бывает проруха&#8221; ©. В новой версии этот &#8220;косяк&#8221; исправлен. Нет нужды беспокоиться о том, что введённые вами названия рубрик или меток пропадут и их придётся вводить заново &#8211; всё будет конвертировано и приведено к соответствующему виду автоматически при обновлении таблиц базы данных Вашего блога.</p>
<h3>Поддержка флеш (SWF) баннеров</h3>
<p>В версии 1.5 вводится поддержка флеш (SWF) баннеров. Это значит, что теперь Вы можете изготовить свои собственные флеш-баннеры и использовать их как рекламные объявления с помощью Simple Ads Manager. Необходимо только указать, что используемое изображение является флеш-баннером. Не забывайте о том, что URL перехода должен задавать сам флеш-ролик с помощью внутреннего скрипта. Ссылка задаваемая для изображения в данном случае работать не будет.</p>
<h3>Журнал ошибок</h3>
<p>Довольно часто я получаю сообщения на форуме поддержки о том, что плагин выдаёт сообщение об ошибке, связанной с обновлением базы данных. Честно говоря, сложно отвечать на такие сообщения не имея подробной информации, поэтому я решил добавить в плагин журнал сообщений. Все ошибки возникающие в ходе работы плагина, связанные с обращением к базе данных, будут фиксироваться в журнале ошибок. Фиксируются ошибки как при обновлении баз данных, так и при выводе объявлений в Face Side. Мне кажется, что это нововведение должно ускорить исправление ошибок, как автора (меня), так и пользователей, неизбежно возникающих при работе с таким сложным (?) плагином, как <strong>Simple Ads Manager</strong>.</p>
<p style="text-align: center;"><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-errorlog.jpg' class='floatbox' rev='group: G22-3549 caption:`Журнал ошибок` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-errorlog-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-errorlog-more.jpg' class='floatbox' rev='group: G22-3549 caption:`Журнал ошибок. Подробно об ошибке` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-errorlog-more-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a></p>
<h3>Ограничения показа объявлений по пользователям</h3>
<p>Уже поступило несколько просьб со всего мира о том, чтобы ввести ограничения показа рекламных объявлений по пользователям. Основное в просьбах &#8211; не показывать объявление рекламодателю, когда он заходит на сайт. Вполне логично, особенно, если объявление было заказано на фиксированное количество показов. Впрочем, иногда есть необходимость показа незарегистрированным пользователям одних объявлений, а зарегистрированным &#8211; других. Начиная с версии 1.5 это станет возможным.</p>
<p style="text-align: center;"><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-users.jpg' class='floatbox' rev='group: G22-3261 caption:`Ограничения для показа пользователям` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-users-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/sam-advertiser.jpg' class='floatbox' rev='group: G22-3261 caption:`Рекламодатель` caption2:`Simple Ads Manager`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/sam-advertiser-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a></p>
<h3>Прочие доработки</h3>
<p>Честно говоря, все уже и не упомнишь. Чуть подправил трекер кликов. Добавил данные рекламодателя для заказных объявлений. Что-то оптимизировал, что-то подправил &#8230;</p>
<h2>Simple Ads Manager 2.0</h2>
<p>Разумеется, эта версия существует только в планах, но некоторые намётки уже есть:</p>
<ol>
<li>API дополнений (Addons API)</li>
<li>Новый трекер кликов</li>
<li>Новая роль пользователей &#8211; рекламодатель</li>
</ol>
<h3>API дополнений (Addons API)</h3>
<p>У меня лежит довольно большой список интересных предложений от пользователей, который не имеет смысла реализовывать внутри плагина. Смысл реализации отсутствует по следующим причинам. Во-первых, эти предложения интересны не всем пользователям плагина. Во-вторых, их реализация серьёзно &#8220;утяжелит&#8221; плагин и сделает невозможным его использование на низкобюджетных блогах. Сами по себе предложения интересные. Например &#8220;расширенная статистика&#8221; показов объявлений или &#8220;система заказа&#8221; объявлений могли бы очень пригодиться некоторым блоггерам, но не всем. Поэтому появилась мысль расширить возможности плагина путём введения в него обработки <strong>actions</strong> и <strong>filters</strong>. Это стандартный способ расширения WordPress, почему бы не использовать его для расширения этого плагина. Введение API позволит писать расширения (дополнения) для плагина не только мне, но и всем остальным заинтересованным разработчикам.</p>
<h3>Новый трекер кликов</h3>
<p>Используемый сегодня трекер может отслеживать клики на объявлениях только в том случае, если это объявления заданные для отображения в режиме &#8220;изображение&#8221;, для остальных объявлений отслеживание кликов невозможно. Есть некоторые мысли по поводу расширения количества типов отслеживаемых объектов.</p>
<h3>Новая роль пользователей &#8211; рекламодатель</h3>
<p>С некоторых пор, WordPress стал поддерживать расширенные роли пользователей, наряду со встроенными ролями. Введение роли &#8220;рекламодатель&#8221; и соответствующие изменения в плагине позволят рекламодателям регистрироваться на блоге в качестве &#8220;рекламодателя&#8221; и получить доступ к инструментам размещения своих объявлений на площадке и просмотра статистики размещённых объявлений. По мере развития Addons API, количество инструментов для рекламодателя будет увеличиваться.</p>
<h2>P.S.</h2>
<p>Если у Вас есть предложения по улучшению работы плагина или по улучшению его функциональных возможностей, у Вас ещё есть время для включения Ваших предложений в следующую версию <strong>Simple Ads Manager</strong>.</p>
<h3>P.P.S.</h3>
<p>Один человек не может &#8220;объять необъятное&#8221;. Несмотря на то, что я часто перевожу понравившиеся мне плагины на русский язык, я не могу перевести все плагины для WordPress, да, в общем то, и не стремлюсь. Если Вы не нашли на этом сайте нужный Вам плагин, Вы можете поискать <a class="supad" title="русские плагины wordpress" href="http://mojwp.ru/">русские плагины wordpress</a> на сайте <strong>mojWP.ru</strong>.</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2971&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/simple-ads-manager-kak-eto-rabotaet/' rel='bookmark' title='Simple Ads Manager. Как это работает.'>Simple Ads Manager. Как это работает.</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-ads-manager/' rel='bookmark' title='WordPress плагин Simple Ads Manager'>WordPress плагин Simple Ads Manager</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/-rU8Wf-mOdc4Lah1I4oFr31172g/0/da"><img src="http://feedads.g.doubleclick.net/~a/-rU8Wf-mOdc4Lah1I4oFr31172g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-rU8Wf-mOdc4Lah1I4oFr31172g/1/da"><img src="http://feedads.g.doubleclick.net/~a/-rU8Wf-mOdc4Lah1I4oFr31172g/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/ZJW5WlB7dsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/simple-ads-manager-dorozhnaya-karta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/simple-ads-manager-dorozhnaya-karta/</feedburner:origLink></item>
		<item>
		<title>Переезд с проблемами</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/wZbXODXY9Z8/</link>
		<comments>http://blogcoding.ru/archives/pereezd-s-problemami/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 18:09:23 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Блоггинг]]></category>
		<category><![CDATA[блог]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2924</guid>
		<description><![CDATA[&#8220;Всё пропало, Лёлик, всё пропало!!!&#8220; © к/ф &#8220;Бриллиантовая рука&#8221;. Пол года назад я уже писал о переезде от одного хостера к другому. Статья была о том, как избежать проблем при смене хостера. Но что делать когда проблемы уже возникли? Эта статья именно о том как можно решить проблемы возникшие ещё до решения о переезде и как [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/pereezd-bez-problem/' rel='bookmark' title='Переезд без проблем'>Переезд без проблем</a></li>
<li><a href='http://blogcoding.ru/archives/pereezd-vds-vps-hosting/' rel='bookmark' title='Переезд. VDS/VPS хостинг'>Переезд. VDS/VPS хостинг</a></li>
<li><a href='http://blogcoding.ru/archives/myagkij-start/' rel='bookmark' title='Мягкий старт'>Мягкий старт</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/03/fire-200.jpg"><img class="alignleft size-full wp-image-2954" style="margin-bottom: 5px; margin-right: 10px;" title="fire-200" src="http://blogcoding.ru/wp-content/uploads/2012/03/fire-200.jpg" alt="" width="200" height="133" /></a>&#8220;<em>Всё пропало, Лёлик, всё пропало!!!</em>&#8220; © к/ф &#8220;Бриллиантовая рука&#8221;.</p>
<p>Пол года назад я уже <a title="Переезд без проблем" href="http://blogcoding.ru/archives/pereezd-bez-problem/" target="_blank">писал о переезде</a> от одного хостера к другому. Статья была о том, как избежать проблем при смене хостера. Но что делать когда проблемы уже возникли? Эта статья именно о том как можно решить проблемы возникшие ещё до решения о переезде и как минимизировать потери от возникших проблем. Я расскажу Вам как бороться с возникшими проблемами, используя свой опыт.<br />
<span id="more-2924"></span></p>
<h2>Предыстория</h2>
<p>Пол года назад я переехал от хостера <noindex><a target="_blank" title="Komtet" href="http://blogcoding.ru/35671b/URZFSVkaFlgMCEdQTR1ARg==/" >Komtet</a></noindex> на сервер <noindex><a target="_blank" title="Infiumhost" href="http://blogcoding.ru/35671b/URZFSVkaFloNA1pAVFtdQERKUFkJ/" >Infiumhost</a></noindex>. Не то чтобы <strong>Komtet</strong> был плохим хостером, скорее наоборот, но у него небыло подходящего для меня тарифного плана, поэтому пришлось переехать. Я долго выбирал хостера и остановился на <strong>Infiumhost</strong>. По началу всё шло хорошо, первые два месяца нареканий не было. Всё супер: быстрый отклик сервера, богатый набор выделенных ресурсов и цена очень даже демократичная для уровня и объёма предоставляемых услуг. Но вдруг, всё плохое бывает &#8220;вдруг&#8221;, начались падения сервера. И чем дальше, тем чаще. Дошло до того, что по выходным сервер скорее &#8220;лежал&#8221;, чем &#8220;стоял&#8221;. Техподдержка, в лице <strong>Ануфриева Сергея Валерьевича</strong>, поначалу весьма вежливая, начала откровенно хамить. В довершение ко всему, меня вдруг заблокировали без объяснения причин. С трудом удалось выяснить, что это не очередное падение сервера, а банальная блокировка:</p>
<blockquote><p>От: <strong>minimus</strong> &#8211; 2012-03-17 <strong>09:32:10</strong><br />
Сервер в дауне вторые сутки!!! У Вас хоть что-нибудь работает? Ваш сервер &#8220;колбасит&#8221; уже неделю!!!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
От: <strong>Ануфриев Сергей Валерьевич</strong> &#8211; 2012-03-17 <strong>09:34:15</strong><br />
я боюсь, что именно у вас уже ничего и не будет работать.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
От: <strong>minimus</strong> &#8211; 2012-03-17 <strong>09:36:05</strong><br />
Это ещё почему?</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
От: <strong>minimus</strong> &#8211; 2012-03-17 <span style="color: #ff0000;"><strong>10:50:05</strong></span><br />
Ну так что? Есть что ответить?</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
От: <strong>Ануфриев Сергей Валерьевич</strong> &#8211; 2012-03-17 <span style="color: #ff0000;"><strong>11:34:00</strong></span><br />
систематическое нарушение правил и превышение нагрузки</p></blockquote>
<p>Вы считаете, что я слишком жестко начал разговор? Это следствие предыдущего:</p>
<blockquote><p>От: <strong>minimus</strong> &#8211; 2012-02-08 <strong>09:50:45</strong><br />
www.simplelib.com, blogcoding.ru &#8211; последние 12 часов &#8220;504 Gateway Time-out&#8221;<br />
Как долго это будет продолжаться? Я несу финансовые потери!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
От: <strong>Ануфриев Сергей Валерьевич</strong> &#8211; 2012-02-08 <strong>11:58:08</strong><br />
<span style="color: #800000;">&gt; Я несу финансовые потери!</span><br />
нам это не очень интересно.</p>
<p>сайты функционируют нормально.<br />
проверяйте через http://host-tracker.com/</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
От: <strong>minimus</strong> &#8211; 2012-02-08 <strong>14:16:34</strong><br />
Сейчас УЖЕ ДА &#8230;<br />
08072012.jpg</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
От: <strong>minimus</strong> &#8211; 2012-02-08 <strong>18:34:26</strong><br />
<span style="color: #800000;">&gt;нам это не очень интересно.</span><br />
Г-н Ануфриев, мне не интересно по каким причинам Вы и Ваши коллеги не могут обеспечить нормальное функционирование моих сайтов. Вы взяли на себя определённые обязательства, будьте любезны их исполнять! А хамство в отношении клиентов, это в любом случае моветон &#8230;<br />
Удачи Вам в вашем нелёгком труде &#8230; ну или изучите инструкцию в конце концов &#8230;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
От: <strong>Ануфриев Сергей Валерьевич</strong> &#8211; 2012-02-12 <strong>00:00:00</strong><br />
Перемещено в архив по причине отсутствия активности в течение 3 дней.</p></blockquote>
<p>Ответа я тогда не дождался &#8230;</p>
<p>Позднее, анализируя сложившуюся ситуацию, я пришёл к выводу, что меня забанили незаконно. А суть вот в чём. Я заказал хостинг когда Infiumhost предлагал на тарифном плане &#8220;Оптимум&#8221; другие параметры нежели сейчас. Например <strong>256Mb</strong> memory_limit тогда против <strong>192Mb</strong> сейчас. Другие параметры тоже изменились в худшую сторону. Я думаю, что перенастроив параметры выделяемые для данного тарифного плана и настроив систему контроля, техники забыли или умышленно оставили без изменений (для перезаключения договоров на новых, худших условиях) ограничения для старых аккаунтов. Таким образом мой WordPress запрашивает 512Mb памяти (он всегда просит столько, но использует сколько дадут) и получает 256Mb, согласно настройкам аккаунта, а система контроля фиксирует нарушение по выделению памяти (перерасход). Я, конечно, не специалист в этой области, но думаю, что это происходит приблизительно так.</p>
<p>Но, вернёмся к нашим &#8220;баранам&#8221; &#8230; Доступ к сайтам, и, соответственно, к базам данных закрыт. Техподдержка отвечает &#8220;стиснув зубы&#8221;. Что же делать?</p>
<h2>Исходные данные</h2>
<p>Итак, что же мы имеем в качестве исходных данных для продолжения работы нашего сайта? Практически ничего, кроме желания всё восстановить.</p>
<ol>
<li>Данные, накопленные за четыре года, недоступны</li>
<li>Хостинг отсутствует и перенос данных невозможен (см. пункт №1)</li>
</ol>
<p>Тем не менее, как Вы уже заметили, сайт работает и это значит, что ещё не всё потеряно. <img src='http://blogcoding.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Восстанавливаем потерянные данные</h2>
<p>Если не отчаиваться и включить мозг, всё не так уж и страшно. Первым делом, я запросил доступ к данным у тех. поддержки Infiumhost. Не смотря на то, что у нас случился нелицеприятный разговор и даже не один, мне дали ссылку на архивный файл <strong>backup</strong>&#8216;а десятидневной давности. Не стесняйтесь просить, а если нужно и требовать, свои данные (базы данных, файлы) &#8211; это всё Ваша интеллектуальная собственность. И каким бы страшным не было Ваше прегрешение перед хостером, он не может и не в праве не вернуть Вам её, а тем более присвоить!</p>
<p>Итак, часть данных восстановлена. Почему часть? Потому, что backup не свежий и, следовательно, содержит не все данные. Кроме того, позднее выяснилось, что он немного &#8220;кривой&#8221; &#8211; часть файлов была записана с изменёнными расширениями. Но, как говорится, лучше что-то чем ничего. Тем более, что есть способ восстановить недостающие данные.</p>
<p>В моём случае это была одна статья. Но способ подойдёт для любого количества статей. Дело в том, что Google Reader не транслирует Ваш feed напрямую, а хранит его копию. Поэтому, для восстановления статьи нужно лишь открыть свой сайт в Reader&#8217;е и скопировать статью. Этот способ годится только в том случае, если Вы заранее подписались в Reader&#8217;е на собственный блог (сайт). Если Вы попытаетесь подписаться на свой сайт после утери оного, Вы получите сообщение об ошибке запрашиваемого feed&#8217;а.</p>
<p>Другим источником утерянной информации может быть кэш поисковика Google. Суть та-же самая, найдите необходимую статью в поиске Google, но переходите на неё не по ссылке, а через ссылку &#8220;Сохраненная копия&#8221;, если Ваша статья была просмотрена роботом Google до потери сайта, Вы сможете её открыть в &#8220;первозданном виде&#8221;.</p>
<h2>Подбор хостера</h2>
<p>Откровенно говоря, я впервые столкнулся с подобной ситуацией, а именно, я не получил ни одного предупреждения от тех. поддержки или администрации Infiumhost. Поэтому я постарался подойти к выбору следующего хостера очень серьёзно.</p>
<p>Во-первых, я проанализировал сложившеюся ситуацию, дабы не попасть в такую-же в дальнейшем. Я не стал торопиться и попытался рассмотреть, по возможности, все подходящие предложения. Я просматривал все предлагаемые параметры хостинга и, если таковые отсутствовали, не стеснялся задавать вопросы персоналу. Я пересматривал отзывы о хостере на разных специализированных и не очень ресурсах. Я даже не читал хвалебные отзывы, только объективные, какими бы они не были.</p>
<p>Я искал хостера предлагающего объём предоставляемых услуг на уровне или большем, чем изначально предлагал мне Infiumhost. Это должен был быть хостер работающий на рынке не менее 5..7 лет. И это должен был быть хостер с нормальной, вменяемой тех. поддержкой.</p>
<p>Во-вторых, я решил расширить тестовый период (для себя лично и за свой счёт) и приобрёл хостинг на месяц у двух хостеров. Причём один виртуальный хостинг, а второй виртуальный выделенный сервер. Виртуальный хостинг я заказал на <noindex><a target="_blank" title="TimeWeb" href="http://blogcoding.ru/35671b/URZFSVkaFkcKCFZCXFEcQUU=/" >Timeweb</a></noindex>. Этот блог, на момент написания статьи, расположен на виртуальном хостинге от Timeweb, можете оценить качество работы хостинга.</p>
<p>Второй хостинг, а точнее Виртуальный Выделенный Сервер (VDS), я приобрёл у <noindex><a target="_blank" title="Промо-ссылка. Скидка 25% за первый месяц обслуживания!" href="http://blogcoding.ru/35671b/URZFSVkaFlUKF0BBT1dBHUIRHAkCQ1xZXABVAFIMCw==/" >firstVDS</a></noindex>. По цене VDS обходится даже дешевле, чем Виртуальный хостинг от Timeweb &#8211; <strong>249 руб/мес</strong>. за тариф <strong>VDS-Разгон</strong> от firstVDS против <strong>265 руб/мес.</strong> за тариф <strong>Century</strong> от Timeweb. Кроме того, мне давно хотелось попробовать VDS в деле, хочется, знаете ли, самому назначать своим сайтам выделяемые ресурсы и не зависеть от прихотей хостера. К тому же, как оказалось, по управлению VDS ничуть не сложнее виртуального хостинга, если Вы не хотите установить что-то совсем экстраординарное. Та же панель (ISPManager), те же способы управления данными, просто больше возможностей (например подключить дополнительные библиотеки PHP). Более подробно о работе с VDS я расскажу в одной из следующих статей.</p>
<p>Как Вы наверное уже поняли, я хочу протестировать оба хостинга в течении месяца и принять окончательное решение на основе полученных результатов.</p>
<h2>Установка данных</h2>
<p>Первое с чем я столкнулся после переноса данных на новый хостинг, это отказ работы этого блога. Как я уже упоминал в начале этой статьи, часть файлов в backup&#8217;е была сохранена некорректно &#8211; расширения файлов при упаковке потеряли последнюю букву. Я обнаружил это уже после закачки данных на хостинг. Вам же советую проверять файлы ещё до закачки &#8211; это сохранит время и нервы. Мне повезло, что искорёжило только имена файлов, а не их содержимое.</p>
<p>Разумеется, я имел &#8220;частичную&#8221; резервную копию всех своих сайтов, но так случилось, что и она была устаревшей &#8211; файлы были на месте, а вот копия баз данных была трёхмесячной давности. Расслабился и поплатился за это.</p>
<h2> Заключение</h2>
<p>Итак, что нужно делать в случае возникновения проблем:</p>
<ol>
<li>Требовать резервную копию данных со своего аккаунта при любых обстоятельствах</li>
<li>При необходимости использовать Google Reader или кэш Google</li>
<li>Не торопиться при выборе следующего хостера &#8211; подбирать с особой тщательностью</li>
</ol>
<p>Что нужно делать для того, чтобы проблем возникало как можно меньше:</p>
<ol>
<li>Постоянно и как можно чаще производить резервное копирование</li>
<li>Периодически проверять статус и статистику превышений и предупреждений своего сайта</li>
<li>Подбирать хостера с особой тщательностью</li>
</ol>
<p>По идее, если исполнять эти нехитрые правила, проблем возникнуть не должно. Однако, человек предполагает, а Бог располагает &#8230;</p>
<p>Удачи!</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h3>Постовой</h3><p>Если Вы хотите найти полную информацию, касающуюся азартных игр, стратегии и тактики игры, щедрых бонусов и выплат, посетите портал "<strong>TOP 777</strong>". Портал публикует подробные и полезные обзоры лучших <a class="supad" href="http://top-777.com" title="казино онлайн">казино онлайн</a>, надёжность и работа которых проверена личным опытом. Гарантированные бонусы, приятная атмосфера и серьёзные выигрыши. Держать вас в курсе событий - одна из приоритетных задач портала: самые свежие и горячие новости, шокирующие факты и события в необъятной сфере гэмблинга никого не отставят равнодушными.</p></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2924&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/pereezd-bez-problem/' rel='bookmark' title='Переезд без проблем'>Переезд без проблем</a></li>
<li><a href='http://blogcoding.ru/archives/pereezd-vds-vps-hosting/' rel='bookmark' title='Переезд. VDS/VPS хостинг'>Переезд. VDS/VPS хостинг</a></li>
<li><a href='http://blogcoding.ru/archives/myagkij-start/' rel='bookmark' title='Мягкий старт'>Мягкий старт</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/V4x3jqVx9zDiY2XFHPXqG63lo94/0/da"><img src="http://feedads.g.doubleclick.net/~a/V4x3jqVx9zDiY2XFHPXqG63lo94/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/V4x3jqVx9zDiY2XFHPXqG63lo94/1/da"><img src="http://feedads.g.doubleclick.net/~a/V4x3jqVx9zDiY2XFHPXqG63lo94/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/wZbXODXY9Z8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/pereezd-s-problemami/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/pereezd-s-problemami/</feedburner:origLink></item>
		<item>
		<title>Анатомия плагина WordPress. Заключение</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/j5w8kC2Y3Fk/</link>
		<comments>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-zaklyuchenie/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 19:17:08 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2897</guid>
		<description><![CDATA[В предыдущих частях этой статьи я рассказал о том как надо писать плагин для WordPress. Не стану утверждать, что данная статья является “истиной в последней инстанции” ©, но очень надеюсь, что кому-нибудь она помогла в деле освоения написания плагинов для WordPress. Но, вот, плагин уже написан … Что же дальше? Как донести это совершенное творение [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-vvedenie/' rel='bookmark' title='Анатомия плагина WordPress. Введение.'>Анатомия плагина WordPress. Введение.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-2/' rel='bookmark' title='Анатомия плагина WordPress. Часть 2.'>Анатомия плагина WordPress. Часть 2.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/' rel='bookmark' title='Анатомия плагина WordPress. Часть 3'>Анатомия плагина WordPress. Часть 3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/03/finish-2.png"><img src="http://blogcoding.ru/wp-content/uploads/2012/03/finish-2.png" alt="" title="finish-2" width="200" height="147" class="alignleft size-full wp-image-2917" /></a>
<p>В предыдущих частях этой статьи я рассказал о том как надо писать плагин для WordPress. Не стану утверждать, что данная статья является “истиной в последней инстанции” ©, но очень надеюсь, что кому-нибудь она помогла в деле освоения написания плагинов для WordPress.</p>
<p>Но, вот, плагин уже написан … Что же дальше? Как донести это совершенное творение  до пользователей?</p>
<p>Всё очень просто! Для этого существует репозитарий плагинов для WordPress на сайте wordpress.org. Вы, конечно, можете попытаться распространять свой плагин доморощенными способами, например через свой блог или через специализированные сервисы. Но распространение плагина через репозитарий WordPress является наиболее предпочтительным по следующим причинам:</p>
<ul>
<li>Пользователь может найти Ваш плагин прямо из “админки” своего блога банальным поиском.</li>
<li>Пользователь может загрузить и установить Ваш плагин из той-же “админки” своего блога</li>
<li>Пользователь может автоматически обновлять Ваш плагин по мере его обновления</li>
<li>Страница вашего плагина в репозитарии может содержать ссылку на Ваш блог, а это очень популярный ресурс …</li>
</ul>
<p><span id="more-2897"></span></p>
<h2>Добавление плагина в репозитарий</h2>
<p>Для того, чтобы добавить свой плагин в репозитарий WordPress, необходимо <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQMF1dFS1ZBQB4LQVFLQkZEEV4TR0xHV1dQEUVcERtJWxM=/" title="Регистрация на wordpress.org" >зарегистрироваться на сайте</a></noindex>, а затем перейти на страницу “<noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQMF1dFS1ZBQB4LQVFLVEtABF8FHBNZR1dQDEIWAlFdHA==/" title="Заявка на добавление плагина в репозитарий" >заявки на добавление плагина</a></noindex>” и заполнить все поля заявки. Их всего три:</p>
<ol>
<li><strong>Plugin Name</strong> – имя плагина. Не торопитесь давать вычурное имя своему плагину. В данном случае, это не совсем имя, это название папки в которую впоследствии будут помещены файлы Вашего плагина. Естественно, что это имя должно подчиняться некоторым правилам написания. Во-первых, имя должно состоять из символов латиницы, дефисов и символов подчёркивания. Общепринято использовать латиницу и дефисы, например: multilungual-comments-number. Во-вторых, оно должно совпадать с именем главного файла плагина (без расширения).</li>
<li><strong>Plugin Description</strong> – Описание плагина на английском языке. Желательно написать так же, как будет написано в коротком описании плагина в дальнейшем (readme.txt).</li>
<li><strong>Plugin URL</strong> – это не URL плагина, это URL статьи описывающей плагин. Желательно, что бы статья была на английском языке, но если Вам негде разместить такую статью, сойдёт и на русском (украинском, белорусском, казахском и т.п.).</li>
</ol>
<p>Заполнив все поля, нажмите на кнопку “Send Post” и ждите e-mail с подтверждением регистрации плагина.</p>
<h2>Загрузка плагина в репозитарий</h2>
<p>Получив от модератора WordPress подтверждение добавления Вашего плагина в репозитарий Вы можете начать подготовку к его загрузке в оный. Для этого Вам надо:</p>
<ul>
<li>Соответствующим образом оформить файлы плагина, включая файл readme.txt</li>
<li>Установить на свой компьютер программное обеспечение SVN</li>
<li>Произвести необходимые манипуляции с файлами и папками для загрузки файлов в репозитарий</li>
</ul>
<p>Итак, начнём.</p>
<h3>Правила оформления файлов плагина</h3>
<p>Главный (и, возможно единственный) файл плагина должен содержать следующие строки комментариев в самом начале файла:</p>
<ul>
<li>Plugin Name – здесь Вы можете написать красивое имя Вашего плагина. Именно так оно будет отображаться на странице Вашего плагина в репозитарии и на страницах “Плагины” пользователей Вашего плагина</li>
<li>Plugin URI – URL статьи описывающий плагин, обычно статья в Вашем блоге</li>
<li>Description – короткое описание плагина, показывается на админ-странице “Плагины” блога в списке плагинов</li>
<li>Version – текущая версия плагина. Обычно состоит из трёх чисел, разделённых точками: основная версия.субверсия в пределах основной версии.количество изменений (сквозной номер редакции)</li>
<li>Author – автор(ы) плагина. Ник в системе wordpress.org</li>
<li>Author URI – ссылка на ресурс автора. Обычно на основной блог …</li>
</ul>
<p>Второй блок комментария содержит copyright автора и заявление о распространении данного продукта на условиях <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQUEh1SV0YcXEIDHFoNUlZaElQSHA9cUVVXEVQUD1xKR00NR1hVEHVjfCdcWxRQR10DXQR/ClZXXkoHQg==/" title="GPLv2" >лицензии GNU General Public License v2</a></noindex>.</p>
<p>Ваш плагин ОБЯЗАТЕЛЬНО должен содержать файл <em>readme.txt</em> – это обязательное условие. Без этого файла страница плагина в репозитарии не будет отображаться, т.к. этот файл и есть страница Вашего плагина.</p>
<p>В файле readme.txt используется язык “Markup”. Полностью описывать правила оформления этого файла не буду – это долгая история, Вы можете найти их <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQMF1dFS1ZBQB4LQVFLVEtABF8FHBNZR1dQDEIWAldWRhdKQVBYV19WHhBLQg==/" title="Правила оформления ReadMe" >здесь</a></noindex>. Проверить написанный файл можно <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQMF1dFS1ZBQB4LQVFLVEtABF8FHBNZR1dQDEIWAldWRhdKRVRVWlZSRAtBGQ==/" title="Проверка файла ReadMe" >здесь</a></noindex>.</p>
<h3>Программное обеспечение</h3>
<p>Репозитарий плагинов WordPress является репозитарием SVN с урезанными функциями, поэтому для загрузки плагина в репозитарий и последующих его обновлений Вам потребуется программное обеспечение SVN. Скачать Subversion можно <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkAWB0VQS0BbXF5KUkYFUltRT14TVExRXUdXDl5YBxoaQQYGXFhUVlxXVQAeRAFdVlUSVA==/" title="SVN" >здесь</a></noindex> – это базовый пакет, необходимый для работы с репозитарием. Поскольку с базовым пакетом необходимо работать из командной строки, я, для удобства, установил себе <noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkcMF0daUEBXQEYKHVgBRRxQDkYPXwxUVkMXCkVUDw==/" title="Tortoise SVN" >Tortoise SVN</a></noindex> – это надстройка, позволяющая работать в интерфейсе проводника Windows. Не забудьте установить пакет русского языка для Tortoise SVN.</p>
<h3>Процесс загрузки</h3>
<p>Для работы с репозитарием, я, обычно использую Tortoise SVN, но для первоначальной активации лучше использовать базовый пакет SVN. Для этого нужно воспользоваться командной строкой или PowerShell (Windows). Сначало необходимо перейти в папку svn_repository, созданную пакетом Subversion и создать папку плагина (например: multilingual-comments-number). Затем скопировать структуру папок, созданную для Вашего плагина модератором репозитария:</p>
<p>После выполнения этих команд в папке Вашего плагина должны появиться папки trunk, tags и branches. Если это так, значит всё идёт “как надо”.</p>
<p>Теперь необходимо перейти в папку плагина, т.е. сделать её текущей для PowerShell.</p>
<p>Скопируйте подготовленные файлы плагина в папку trunk. Это можно сделать с помощью команд <strong>PowerShell</strong>, но я делаю это с помощью проводника Windows.</p>
<p>Теперь, когда файлы плагина скопированы в локальную копию репозитария, нужно дать знать центральному репозитарию о произведённых изменениях и загрузить файлы в центральный репозитарий:</p>
<p>Всё! Плагин в репозитарии WordPress. Поздравляю! В течении ближайших 15-ти минут он станет доступным для всех.</p>
<p>Все манипуляции с плагином производятся в папке trunk. Если Вы хотите версировать плагин (для пользователей будут доступны все версии плагина, а не только текущая), используйте папку tags. Для этого скопируйте папку trunk в подпапку папки tags (подпапка должна иметь название в виде версии плагина) и дайте знать об этих изменениях центральному репозитарию:</p>
<p>Как Вы уже заметили, копирование производится силами SVN, а не операционной системы. Таким образом мы избавляемся от необходимости использовать команду <strong>add</strong> после копирования.</p>
<h2>Обновления плагина</h2>
<p>Для обновлений плагина я использую Tortoise SVN. Это очень просто. Нужно скопировать изменённые файлы плагина (можно все, Tortise SVN сам разберётся “что к чему”) в папку trunk локальной копии репозитария.</p>
<p style="text-align: center;"><a href='http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-copy.jpg' class='floatbox' rev='group: G21-3723 caption:`Копирование файлов` caption2:`Tortoise SVN`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-copy-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-add.jpg' class='floatbox' rev='group: G21-3723 caption:`Добавление файлов` caption2:`Tortoise SVN`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-add-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a><a href='http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-fix.jpg' class='floatbox' rev='group: G21-3723 caption:`Фиксация изменений` caption2:`Tortoise SVN`' ><img src="http://blogcoding.ru/wp-content/sv-galleries/tortoise-svn-fix-thumb.jpg" style="padding: 0px; margin: 5px; border: 1px solid #000000" /></a></p>
<p>Затем, с помощью меню Tortoise SVN произвести необходимые действия – добавить новые файлы, фиксировать файлы и т.д и т.п.</p>
<h2>P.S.</h2>
<p>Надеюсь Вы догадались, что я использую в командах <strong>multilingual-comments-number</strong> исключительно ради примера, Вы должны использовать имя своего плагина.</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h4>Постовой</h4><p>Хотите испытать ни с чем не сравнимый азарт от игры в рулетку? Попробуйте <a class='supad' href="http://netgamecasino.com/" title="рулетку онлайн">рулетка онлайн</a>  в <strong>казино NetGame</strong>! Вас ждет online-казино самого высокого профессионального уровня!</p></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2897&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-vvedenie/' rel='bookmark' title='Анатомия плагина WordPress. Введение.'>Анатомия плагина WordPress. Введение.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-2/' rel='bookmark' title='Анатомия плагина WordPress. Часть 2.'>Анатомия плагина WordPress. Часть 2.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/' rel='bookmark' title='Анатомия плагина WordPress. Часть 3'>Анатомия плагина WordPress. Часть 3</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/Hl-homCz8ok_qEDZs8UIOabAYzk/0/da"><img src="http://feedads.g.doubleclick.net/~a/Hl-homCz8ok_qEDZs8UIOabAYzk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Hl-homCz8ok_qEDZs8UIOabAYzk/1/da"><img src="http://feedads.g.doubleclick.net/~a/Hl-homCz8ok_qEDZs8UIOabAYzk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/j5w8kC2Y3Fk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-zaklyuchenie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-zaklyuchenie/</feedburner:origLink></item>
		<item>
		<title>Simple Ads Manager. Как это работает.</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/Wuxv7EBhgEM/</link>
		<comments>http://blogcoding.ru/archives/simple-ads-manager-kak-eto-rabotaet/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 17:15:53 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Плагины]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[реклама]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2876</guid>
		<description><![CDATA[Чем больше народ пользуется моим плагином Simple Ads Manager, тем больше у народа возникает вопросов по поводу принципов работы и концепции плагина. С одной стороны, это радует, т.к. означает, что плагин пользуется определённой популярностью, а с другой, огорчает, поскольку говорит о том, что пользователи не очень хорошо, а то и вовсе не понимают концепцию плагина [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-ads-manager/' rel='bookmark' title='WordPress плагин Simple Ads Manager'>WordPress плагин Simple Ads Manager</a></li>
<li><a href='http://blogcoding.ru/archives/simple-ads-manager-dorozhnaya-karta/' rel='bookmark' title='Simple Ads Manager. Дорожная карта'>Simple Ads Manager. Дорожная карта</a></li>
<li><a href='http://blogcoding.ru/archives/effektivnoe-upravlenie-reklamoj-v-wordpress-blogax/' rel='bookmark' title='Эффективное управление рекламой в WordPress-блогах'>Эффективное управление рекламой в WordPress-блогах</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><img class="alignleft" style="margin-right: 5px; margin-top: 5px;" title="Simple Ads Manager" src="http://www.simplelib.com/images/posts/advertisement.jpg" alt="Simple Ads Manager" width="200" height="165" />Чем больше народ пользуется моим плагином <a title="Wordpress плагин Simple Ads Manager" href="http://blogcoding.ru/archives/wordpress-plagin-simple-ads-manager/" target="_blank">Simple Ads Manager</a>, тем больше у народа возникает вопросов по поводу принципов работы и концепции плагина. С одной стороны, это радует, т.к. означает, что плагин пользуется определённой популярностью, а с другой, огорчает, поскольку говорит о том, что пользователи не очень хорошо, а то и вовсе не понимают концепцию плагина и, как следствие, не могут в полной мере воспользоваться этим весьма мощным инструментом.</p>
<p>Мне кажется, что пришло время объяснить как работает плагин и попытаться раскрыть некоторые концептуальные решения, применённые в этой системе. Я думаю, это сможет помочь пользователям плагина более осмысленно выбирать логические схемы рекламных кампаний и, соответственно, улучшить монетизацию своих блогов.<br />
<span id="more-2876"></span><br />
Концепция плагина состоит в том, что все субъекты рекламных кампаний описаны как объекты, имеющие набор собственных параметров и методов. Это четыре базовых объекта плагина:</p>
<ul>
<li>Объект &#8220;Рекламное объявление&#8221; (ad) &#8211; объект хранящий основные параметры рекламного объявления и логику вывода его на страницы блога</li>
<li>Объект &#8220;Рекламное место&#8221; (Ads Place) &#8211; ротатор рекламных объявлений, так же являющийся контейнером для объектов &#8220;рекламное объявление&#8221;, связанных правилами ротации</li>
<li>Объект &#8220;Рекламная зона&#8221; (Ads Zone) &#8211; селектор объектов &#8220;Рекламное место&#8221;. Расширяет логику ротации.</li>
<li>Объект &#8220;Рекламный блок&#8221; (Ads Block) &#8211; бъект осуществляющий вывод на страницу блока объявлений.</li>
</ul>
<h2>Объект &#8220;Рекламное объявление&#8221;</h2>
<div id="attachment_2883" class="wp-caption aligncenter" style="width: 488px"><a href="http://blogcoding.ru/wp-content/uploads/2012/02/ad.jpg"><img class="size-full wp-image-2883  " title="ad" src="http://blogcoding.ru/wp-content/uploads/2012/02/ad.jpg" alt="Ad" width="478" height="110" /></a><p class="wp-caption-text">Ad</p></div>
<p>Объект &#8220;Рекламное объявление&#8221; является очень важным, но несамостоятельным объектом. Он содержит основные параметры объявления (код объявления, ссылки), параметры ротации, параметры логики ограничения показа на страницах сайта, финансовые параметры. Теоретически, и это даже реализовано в плагине, объект &#8220;Рекламное объявление&#8221; может производить вывод своего содержимого на страницу, но это, по большому счёту, не имеет смысла, т.к. при этом логика показа становится не нужна. Тем не менее, если Вам понадобится произвести принудительный вывод какого-либо рекламного объявления на страницу, у Вас есть такая возможность.</p>
<h2>Объект &#8220;Рекламное место&#8221;</h2>
<div id="attachment_2884" class="wp-caption aligncenter" style="width: 520px"><a href="http://blogcoding.ru/wp-content/uploads/2012/02/ads-place.png"><img class="size-full wp-image-2884 " title="ads-place" src="http://blogcoding.ru/wp-content/uploads/2012/02/ads-place.png" alt="Ads Place" width="510" height="160" /></a><p class="wp-caption-text">Ads Place</p></div>
<p>Объект &#8220;Рекламное место&#8221; является <strong>ротатором</strong> рекламных объявлений. Концептуально объект &#8220;Рекламное место&#8221; должен воплощать собой физическое размещениние ротируемых рекламных объявлений на страницах сайта. Кроме того, каждый объект &#8220;Рекламное место&#8221; является контейнером объектов &#8220;Рекламное объявление&#8221;. Являясь ротатором, этот объект обеспечивает вывод на текущую страницу одного объявления в соответствии с заданными &#8220;весами&#8221; объявлений и логикой ограничения показа, заданной для каждого объявления соответствующим объектом &#8220;Рекламное объявление&#8221;. В том случае, когда логика ограничений не позволяет вывести на страницу ни одного объявления, ротатор выводит на страницу объявление-заглушку.</p>
<p>Для демонстрации логики ограничений показа приведу несколько примеров:<br />
Например, у меня есть три категории в блоге &#8211; Новости, Новости спорта и Новости церкви. Я создал одно Рекламное место &#8220;Header&#8221;.</p>
<h3>Пример 1:</h3>
<p>Это &#8220;Рекламное место&#8221; содержит три объявления. Заглушка настроена.</p>
<p>Рекламное объявление (ID1) настроено как &#8220;Показать объявления только на страницах данного типа&#8221;: <em>Страница статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости</em>.<br />
Рекламные объявления (ID2 и ID3) настроены как &#8220;Показать объявления только на страницах данного типа&#8221;: <em>Страницы статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости спорта</em>.</p>
<h3>Результат:</h3>
<p>Рекламное объявление (ID1) будет отображаться только на страницах статей и страницах архива рубрики <em>Новости</em>. Только это объявление будет показано на этих страницах.<br />
Объявления (ID2 и ID3) будут ротироваться только на страницах статей и страницах архивов рубрики <em>Новости спорта</em>. Только эти объявления будут показываться на этих страницах.<br />
Объявление-заглушка будет показываться на всех остальных страницах.</p>
<h3>Пример 2:</h3>
<p>Это &#8220;Рекламное место&#8221; содержит три объявления. Заглушка не настроена.</p>
<p>Рекламное объявление (ID1) настроено как &#8220;Показать объявления только на страницах данного типа&#8221;: <em>Страницы статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости</em>.<br />
Рекламные объявления (ID2 и ID3) настроены как &#8220;Показать объявления только на страницах данного типа»: <em>Страницы статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости спорта</em>.</p>
<h3>Результат:</h3>
<p>Рекламное объявление (ID1) будет отображаться только на страницах статей и страницах архива рубрики <em>Новости</em>. Только это объявление будет показано на этих страницах.<br />
Объявления (ID2 и ID3) будут ротироваться только на страницах статей и страницах архивов рубрики <em>Новости спорта</em>. Только эти объявления будут показываться на этих страницах.<br />
На всех остальных страницах ничего не будет показываться.</p>
<h3>Пример 3:</h3>
<p>Это &#8220;Рекламное место&#8221; содержит пять объявлений. Заглушка настроена.</p>
<p>Объявление (ID1) настроено как &#8220;Показать объявления только на страницах данного типа&#8221;: <em>Страницы статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости</em>.<br />
Объявления (ID2 и ID3) настроены как &#8220;Показать объявления только на страницах данного типа&#8221;: <em>Страницы статьи</em>, <em>Страницы архивов рубрик</em>; &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости спорта</em>.<br />
Объявления (ID4 и ID5) настроены как &#8220;Показывать объявление на всех страницах блога&#8221;.</p>
<h3>Результат:</h3>
<p>Рекламное объявление (ID1) будет отображаться только на страницах статей и страницах архива рубрики <em>Новости</em>. Не только это объявление будет показываться на этой странице (см. ниже).<br />
Объявления (ID2 и ID3) будут ротироваться только на страницах статей и страницах архивов рубрики <em>Новости спорта</em>. Не только эти объявления будут показываться на этой странице (см. ниже).<br />
Объявления (ID4 и ID5) будут ротироваться на всех остальных страницах, как объявления по-умолчанию. Кроме того, эти объявления будут участвовать в ротации на страницах категории <em>Новости</em> и <em>Новости спорта</em> вместе с соответствующими объявлениями.<br />
Заглушка не будет показана никогда ни на каких страницах.</p>
<p>В принципе, эти три примера демонстрируют логику ограничений показа рекламных объявлений, используемую при работе объекта &#8220;Рекламное место&#8221;.</p>
<h2>Объект &#8220;Рекламная зона&#8221;</h2>
<div id="attachment_2885" class="wp-caption aligncenter" style="width: 520px"><a href="http://blogcoding.ru/wp-content/uploads/2012/02/ads-zone.png"><img class="size-full wp-image-2885" title="ads-zone" src="http://blogcoding.ru/wp-content/uploads/2012/02/ads-zone.png" alt="" width="510" height="162" /></a><p class="wp-caption-text">Ads Zone</p></div>
<p>Объект &#8220;Рекламная зона&#8221; является <strong>селектором</strong> объектов &#8220;Рекламное место&#8221;. Этот объект разработан для улучшения реализации логики показа объявлений на сайтах показывающих большое количество рекламных объявлений. Согласитесь, сложно отследить логику показа для сотни, а то и нескольких сотен объявлений, содержащихся в одном рекламном месте. Значительно проще разбить эти объявления на группы по определённым критериям, например по рубрикам показа, разместить в соответствующих объектах &#8220;Рекламное место&#8221; и, в зависимости от рубрики страницы, запускать необходимое &#8220;Рекламное место&#8221; для вывода рекламных объявлений.</p>
<p>Объект &#8220;Рекламная зона&#8221; может пригодиться и при отсутствии большого количества рекламных объявлений.</p>
<p>Рассмотрим на примере:</p>
<p>У меня есть три категории в блоге &#8211; <em>Новости</em>, <em>Новости спорта</em> и <em>Новости церкви</em>. Я создал три объекта &#8220;Рекламное место&#8221; &#8211; &#8220;Header&#8221;, &#8220;Header (Church)&#8221; и &#8220;Header (Single Post)&#8221;. Так как я не хочу, чтобы читатели религиозных новостей видели рекламу вина, сигарет и т.д., я поместил все объявления, не предназначенные для религиозных пользователей, в объект &#8220;Рекламное место&#8221; &#8220;Header&#8221;, а рекламу с религиозным содержанием в объект &#8220;Рекламное место&#8221; &#8220;Header (Church) &#8220;. Я поместил все доступные рекламные объявления в объект &#8220;Рекламное место&#8221; &#8220;Header (Single Post)». Для объявлений религиозного содержания я установил параметр &#8220;Показывать объявление только в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости церкви</em>, для других &#8211; &#8220;Не показывать объявление в одиночных статьях и архивах заданных рубрик&#8221;: <em>Новости церкви</em>.</p>
<p>Затем я создал один объект &#8220;Рекламная зона&#8221; под названием &#8220;Header&#8221; и установил для этого объекта Рекламное место &#8220;Header&#8221; как Рекламное место по-умолчанию. Для рубрики &#8220;Новости церкви&#8221; я назначил рекламное место  &#8220;Header (Church)&#8221;. Для одиночных статей я назначил рекламное место &#8220;Header (Single Post)&#8221;.</p>
<p>Результат:</p>
<p>Религиозные пользователей (читатели рубрики <em>Новости Церкви</em>) увидят объявления только религиозного содержания, все остальные читатели &#8211; другие объявления.</p>
<h2>Объект &#8220;Рекламный блок&#8221;</h2>
<p>Честно говоря, ничего концептуально особенного в этом объекте нет. Просто выводит рекламу блоками, вот и всё. Админ блога может назначить размер блока рекламы (количество строк и столбцов в сетке блока). В качестве объекта сетки (любого) можно задавать как объекты &#8220;Рекламное место&#8221;, так и объекты &#8220;Рекламная зона&#8221;. Впрочем, объекты &#8220;Рекламное объявление&#8221; тоже могут учавствовать в этом процессе, но я не рекомендую. Если Вы имеете всего пару объявлений, есть множество других плагинов, более лёгких, как по пониманию процессов, так и по количеству кодов.</p>
<p>Вся логика показов объектов &#8220;Рекламное место&#8221; и &#8220;Рекламная зона&#8221; при использовании в объекте &#8220;Рекламный блок&#8221; сохраняется. Другими словами, объект &#8220;Рекламный блок&#8221; просто группирует объекты в одном физическом месте блога.</p>
<h2>P.S.</h2>
<p>Вот собственно всё, что я хотел сказать. Может что-то упустил. Если по-прежнему что-то не понятно, не стесняйтесь &#8211; спрашивайте в комментариях или на <noindex><a target="_blank" title="Форум поддержки" href="http://blogcoding.ru/35671b/URZFSVkaFlUMF0ZYF1FeXFcHXFINX1QaE0ROVQxHR11dC0JJD1RAHRMNQwoKHmVcQgBDRAFCQBlEdVEWIXMXdAlHc3tGcQkWIVUWcQkWcAAVIAMTJgkWcFEUI3dOZltdSQ5UFCJRSh4uBF1UXlZA/" >форуме поддержки</a></noindex>.</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h4>Постовой</h4><ul><li>Близится лето. В свете страшилок о Глобальном потеплении лето ожидается жарким. В жару тело тает, а мозги закипают. Дабы избежать этого, стоит задуматься о приобретении кондиционера. Современные, удобные и практичные <a class="supad" href="http://www.imperiales.ru/producer_mitsubishi_electric.html" title="кондиционеры mitsubishi">кондиционеры Mitsubishi</a> - это именно то, что нужно!</li></ul></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2876&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-ads-manager/' rel='bookmark' title='WordPress плагин Simple Ads Manager'>WordPress плагин Simple Ads Manager</a></li>
<li><a href='http://blogcoding.ru/archives/simple-ads-manager-dorozhnaya-karta/' rel='bookmark' title='Simple Ads Manager. Дорожная карта'>Simple Ads Manager. Дорожная карта</a></li>
<li><a href='http://blogcoding.ru/archives/effektivnoe-upravlenie-reklamoj-v-wordpress-blogax/' rel='bookmark' title='Эффективное управление рекламой в WordPress-блогах'>Эффективное управление рекламой в WordPress-блогах</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/7TzJficLD9Uwu-Y5C8rplrPJSI0/0/da"><img src="http://feedads.g.doubleclick.net/~a/7TzJficLD9Uwu-Y5C8rplrPJSI0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7TzJficLD9Uwu-Y5C8rplrPJSI0/1/da"><img src="http://feedads.g.doubleclick.net/~a/7TzJficLD9Uwu-Y5C8rplrPJSI0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/Wuxv7EBhgEM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/simple-ads-manager-kak-eto-rabotaet/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/simple-ads-manager-kak-eto-rabotaet/</feedburner:origLink></item>
		<item>
		<title>b-cumulus 3.0 – Анимированное облако тегов для Blogger</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/rN8G6mcE0_0/</link>
		<comments>http://blogcoding.ru/archives/b-cumulus-3-0-animirovannoe-oblako-tegov-dlya-blogger/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 20:04:32 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Виджеты (Blogger)]]></category>
		<category><![CDATA[b-cumulus]]></category>
		<category><![CDATA[виджет]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2842</guid>
		<description><![CDATA[Относительно недавно Google обнародовал API гаджетов для Blogger-блогов. Естественно, что захотелось опробовать этот API. Кроме того, гаджеты, написанные по правилам этого API, легко устанавливаются, буквально в &#8220;два клика&#8221;, на блог (blogspot.com) и имеют то же окно настроек, что и стандартные гаджеты Google Blogger. В качестве первого кандидата на переход в новую категорию кодов для Blogger [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/b-cumulus-tagcloud-blogger/' rel='bookmark' title='b-cumulus – анимированное Облако тегов для Blogger'>b-cumulus – анимированное Облако тегов для Blogger</a></li>
<li><a href='http://blogcoding.ru/archives/blogumus-animirovannyj-vidzhet-oblako-tegov-dlya-blogger/' rel='bookmark' title='Blogumus – анимированный виджет Облако тегов для Blogger'>Blogumus – анимированный виджет Облако тегов для Blogger</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-wp-cumulus/' rel='bookmark' title='WordPress плагин wp-cumulus'>WordPress плагин wp-cumulus</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-3.png"><img class="alignleft size-full wp-image-2844" title="b-cumulus-3" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-3.png" alt="" width="170" height="170" /></a>Относительно недавно <strong>Google</strong> обнародовал <strong>API</strong> гаджетов для Blogger-блогов. Естественно, что захотелось опробовать этот <strong>API</strong>. Кроме того, гаджеты, написанные по правилам этого <strong>API</strong>, легко устанавливаются, буквально в &#8220;два клика&#8221;, на блог (blogspot.com) и имеют то же окно настроек, что и стандартные гаджеты <strong>Google Blogger</strong>.</p>
<p>В качестве первого кандидата на переход в новую категорию кодов для Blogger я решил выбрать свой первый виджет, написанный для Blogger-платформы, <strong>b-cumulus</strong>. Поскольку популярность этого виджета по-прежнему высока, а сложнось установки всё так же пугает новичков, выбор кандидата становится очевидным.<br />
<span id="more-2842"></span><br />
Для тех кто не в курсе, что такое b-cumulus, напоминаю. b-cumulus &#8211; это анимированное облако тегов (меток) на базе флеш-облака, разработанного Роем Танком (<noindex><a target="_blank" href="http://blogcoding.ru/35671b/URZFSVkaFkQUEh1HVkpGUl4HWBgHXl4bUwFRC0wFAR8IVx5OExhaRg4QX0BKHkBWXAFSRQFVHA==/" >Roy Tanck</a></noindex>).</p>
<p style="text-align: center;"><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-2.jpg"><img class="size-full wp-image-2852 aligncenter" title="b-cumulus-2" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-2.jpg" alt="" width="297" height="247" /></a></p>
<p>После некоторой, весьма существенной, переработки новый гаджет получил следующие улучшения:</p>
<ol>
<li>Быстрая установка в &#8220;два клика&#8221;</li>
<li>Удобная настройка гаджета непосредственно в интерфейсе Blogger с возможностью предварительного просмотра полученного результата.</li>
<li>Отсутствие возни с размещением необходимых для работы гаджета файлов на сторонних ресурсах &#8211; все необходимые файлы расположены на серверах Google, рекомендованных самим Google для подобных целей.</li>
<li>Локализация гаджета &#8211; гаджет может быть локализован для любого языка (панель настроек)</li>
</ol>
<h2>Установка</h2>
<p>Заидите в панель управления Вашего блога, страница &#8220;Дизайн&#8221;. Выберите сайдбар, в котором Вы хотите разместить облако меток (тегов). Нажмите на линк &#8220;Добавить гаджет&#8221;:</p>
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-1.jpg"><img class="aligncenter size-full wp-image-2858" title="b-cumulus-setup-1" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-1.jpg" alt="" width="378" height="240" /></a></p>
<p>В открывшемся окне &#8220;Добавить гаджет&#8221; перейдите на вкладку &#8220;Добавьте свой собственный&#8221;:</p>
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-2.jpg"><img class="aligncenter size-full wp-image-2859" title="b-cumulus-setup-2" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-2.jpg" alt="" width="500" height="585" /></a></p>
<p>На вкладке &#8220;Добавьте свой собственный&#8221; введите URL гаджета и нажмите на кнпку &#8220;Добавить по URL&#8221;.</p>
<p>URL ГАДЖЕТА: <span style="color: #ff6600;"><strong>http://b-cumulus.googlecode.com/svn/tags/3.0/b-cumulus.xml</strong></span> &#8211; скопируйте этот URL и вставьте в поле для URL гаджета:</p>
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-3.jpg"><img class="aligncenter size-full wp-image-2860" title="b-cumulus-setup-3" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-3.jpg" alt="" width="500" height="587" /></a></p>
<p>Если всё пойдёт нормально, гаджет загрузится и появится окно настроек гаджета:</p>
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-4.jpg"><img class="aligncenter size-full wp-image-2861" title="b-cumulus-setup-4" src="http://blogcoding.ru/wp-content/uploads/2012/01/b-cumulus-setup-4.jpg" alt="" width="500" height="803" /></a></p>
<h2>Настройки</h2>
<ul>
<li><strong>Название</strong> &#8211; заголовок гаджета.</li>
<li><strong>Высота</strong> &#8211; высота гаджета.</li>
<li><strong>Высота облака</strong> &#8211; высота облака в пикселях, не путайте с высотой гаджета &#8211; для некоторых шаблонов это могут быть разные вещи.</li>
<li><strong>Ширина облака</strong> &#8211; ширина облака меток в пикселях. Если Вы не знаете какова ширина сайдбара Вашего шаблона, настраивайте методом подбора.</li>
<li><strong>Минимальный размер шрифта</strong> – минимальный размер шрифта метки, т.е. размер шрифта метки с минимальным весом</li>
<li><strong>Максимальный размер шрифта</strong> – максимальный размер шрифта метки, т.е. размер шрифта метки с максимальным весом</li>
<li><strong>Цвет меток с минимальным весом</strong> – цвет метки с самым малым “весом”</li>
<li><strong>Цвет меток с максимальным весом</strong> – цвет метки с самым высоким “весом”. Для остальных меток будет выбран цвет на линейке между этими двумя цветами.</li>
<li><strong>Цвет подсвеченных меток</strong> – цвет метки под курсором мыши, при наведении курсора на метку</li>
<li><strong>Скорость вращения</strong> – скорость вращения облака</li>
<li><strong>Цвет фона</strong> – цвет фона облака меток.</li>
<li><strong>Прозрачный фон</strong> – устанавливает прозрачный фон облака меток.</li>
<li><strong>Показывать вес меток</strong> – показывать “вес” метки, при наведении на неё курсора мыши.</li>
</ul>
<p>Как видите, ничего сложного, скорее наоборот &#8230; Пользуйтесь!</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h2>Постовой</h2><ul><li>Online-сервис «Кто решит?» предлагает сборник решебников по геометрии. Для того, чтобы найти готовые <a class="supad" href="http://ktoreshit.ru/gdz/predmet/geometry" title="ответы по геометрии">ответы по геометрии</a> , Вам, всего-лишь, необходимо выбрать нужный класс в таблице и нажать на пиктограмму учебника.</li></ul></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2842&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/b-cumulus-tagcloud-blogger/' rel='bookmark' title='b-cumulus – анимированное Облако тегов для Blogger'>b-cumulus – анимированное Облако тегов для Blogger</a></li>
<li><a href='http://blogcoding.ru/archives/blogumus-animirovannyj-vidzhet-oblako-tegov-dlya-blogger/' rel='bookmark' title='Blogumus – анимированный виджет Облако тегов для Blogger'>Blogumus – анимированный виджет Облако тегов для Blogger</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-wp-cumulus/' rel='bookmark' title='WordPress плагин wp-cumulus'>WordPress плагин wp-cumulus</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/WgNvTm5V_hehLhoeOegZ_0OPPNc/0/da"><img src="http://feedads.g.doubleclick.net/~a/WgNvTm5V_hehLhoeOegZ_0OPPNc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WgNvTm5V_hehLhoeOegZ_0OPPNc/1/da"><img src="http://feedads.g.doubleclick.net/~a/WgNvTm5V_hehLhoeOegZ_0OPPNc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/rN8G6mcE0_0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/b-cumulus-3-0-animirovannoe-oblako-tegov-dlya-blogger/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/b-cumulus-3-0-animirovannoe-oblako-tegov-dlya-blogger/</feedburner:origLink></item>
		<item>
		<title>Blogger-плагин Simple Counters 2.0</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/XmZFmbOQPX4/</link>
		<comments>http://blogcoding.ru/archives/blogger-plagin-simple-counters-2-0/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 16:49:27 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Виджеты (Blogger)]]></category>
		<category><![CDATA[FeebBurner]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[follower]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[виджет]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2819</guid>
		<description><![CDATA[Обновил плагин Simple Counters для WordPress и решил выполнить давнишнее обещание по поводу обновления его аналога для Blogger. Для тех кто не в курсе что такое Simple Counters сообщаю &#8211; это плагин выполненный в виде бейджика-информера. Информер выводит количество подписчиков на FeedBurner и последователей (followers) на Twitter. Плагин полностью настраиваемый. С помощью пользовательских параметров плагина [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/blogger-plagin-simple-counters/' rel='bookmark' title='Blogger-плагин Simple Counters'>Blogger-плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-chavo/' rel='bookmark' title='Simple Counters. ЧАВО!'>Simple Counters. ЧАВО!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2011/10/simple-counters.png"><img class="alignleft size-full wp-image-2607" style="margin-bottom: 5px; margin-right: 5px;" title="simple-counters" src="http://blogcoding.ru/wp-content/uploads/2011/10/simple-counters.png" alt="" width="150" height="150" /></a>Обновил плагин <a title="Wordpress плагин Simple Counters" href="http://blogcoding.ru/archives/wordpress-plagin-simple-counters/" target="_blank"><strong>Simple Counters для WordPress</strong></a> и решил выполнить давнишнее обещание по поводу обновления его <a title="Blogger-плагин Simple Counters" href="http://blogcoding.ru/archives/blogger-plagin-simple-counters/" target="_blank"><strong>аналога для Blogger</strong></a>. Для тех кто не в курсе что такое Simple Counters сообщаю &#8211; это плагин выполненный в виде бейджика-информера. Информер выводит количество подписчиков на <strong>FeedBurner</strong> и последователей (followers) на <strong>Twitter</strong>.</p>
<p>Плагин полностью настраиваемый. С помощью пользовательских параметров плагина можно настроить цвет шрифта, цвета и вектор направления градиента фона, цвета и/или темы подсказок, иконки для FeedBurner и Twitter, как для бейджика, так и для подсказок, позиционирование бейджика на экране браузера и т.д. и т.п.<br />
<span id="more-2819"></span></p>
<h2>Новое в версии 2.0</h2>
<ol>
<li>Подсказки используют <strong>jQuery</strong> плагин <strong>qTip2</strong> (в первой версии использовался <strong>qTip</strong>1)</li>
<li>Настройка тем подсказок (в первой версии настройки отсутствовали)</li>
<li>Настройка темы бейджика (стандартная, win7)</li>
<li>Настройка цвета окантовки (только для стандартной темы)</li>
<li>Настройка цвета шрифта</li>
<li>Поддержка <strong>IE7</strong> и <strong>IE8</strong> (рисуется с помощью <strong>VML</strong>)</li>
<li>ВСЁ рисуется с помощью <strong>canvas</strong> (современные браузеры) или <strong>VML</strong> (старички IE7, IE8)</li>
</ol>
<h2>Установка</h2>
<p>Код устанавливается одним куском, непосредственно перед закрывающим тегом секции <strong>head</strong> (см. ниже):</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Код показанный ниже вставляйте в районе выделенной строки показанной в вышепреведённом коде.</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Минимальные изменения в коде, которые необходимо сделать перед вставкой в шаблон:</p>
<ol>
<li>Если Ваш шаблон или вставленные Вами коды используют jQuery, удалите первые две строки (выделены в коде). Если Вы не поняли предыдущую фразу, ничего менять не надо &#8211; оставьте как есть.</li>
<li>Обязательно измените ID Feedburner и Twitter на свои (строки 33 и 41, выделены в коде), в противном случае будут показываться мои данные!</li>
</ol>
<h2>Настройка параметров</h2>
<p>Параметры, задаваемые пользователем (scOptions):</p>
<ul>
<li><strong>position</strong> – right или left, вывод бейджика справа или слева в окне браузера.</li>
<li><strong>delta</strong> – цифровое значение в пикселах. Отрицательное значение – смещение бейджика вверх относительно средней линии экрана браузера, положительное – вниз на заданное количество пиксел.</li>
<li><strong>dgv</strong> – направление вектора градиента фона. horizontal – справа налево, vertical – сверху вниз.</li>
<li><strong>color</strong> – начальный цвет градиента фона. Шесть шестнадцатиричных цифр (‘#1c82d0′).</li>
<li><strong>colorTo</strong> – конечный цвет градиента фона. Шесть шестнадцатиричных цифр (‘#145181′).</li>
<li><strong>borderColor</strong> – Цвет полупрозрачной (40%) окантовки бейджика. Шесть шестнадцатиричных цифр (‘#676767′).</li>
<li><strong>borderStyle</strong> &#8211; Стиль окантовки бейджика. Строковая переменная: &#8220;default&#8221; или &#8220;win7&#8243;.</li>
<li><strong>fontColor</strong> &#8211; цвет шрифта бейджика (&#8220;#ffffff&#8221;).</li>
<li><strong>hints</strong> &#8211; не трогайте этот параметр &#8211; &#8220;уши&#8221; WordPress плагина (&#8220;themed&#8221;).</li>
<li><strong>plurals</strong> &#8211; Формула задающая правила обработки форм множественного числа. По-умолчанию задана формула для русского языка (&#8220;(n%10==1 &amp;&amp; n%100!=11 ? 0 : n%10&gt;=2 &amp;&amp; n%10&lt;=4 &amp;&amp; (n%100&lt;10 || n%100&gt;=20) ? 1 : 2)&#8221;), для английского будет выглядеть так: &#8220;(n != 1)&#8221;. Все формулы для различных язаков можно найти на сайте <noindex><a target="_blank" title="SourceForge.net" href="http://blogcoding.ru/35671b/URZFSVkaFkcRBF1GVVJGVh4XXEMWUlZSDkMGVk1bV0QWFVhSChpVAlMLHEVVRkBSXAJcRAlC/" ><strong>sourceforge.net</strong></a></noindex>.</li>
<li><strong>hintStyle</strong> &#8211; стиль подсказки. По-умолчанию &#8220;ui-tooltip-custom&#8221;. Может быть: ui-tooltip-custom, ui-tooltip-plain, ui-tooltip-light, ui-tooltip-dark, ui-tooltip-red, ui-tooltip-green, ui-tooltip-blue.</li>
</ul>
<p>FeedBurner:</p>
<ul>
<li><strong>id</strong> – Ваш ID на FeedBurner</li>
<li><strong>imgUrl</strong> – URL изображения для области FeedBurner бейджика. 50х50 пиксел, прозрачный фон, PNG. Даже если изображение будет отличаться по размеру, оно будет трансформировано (50х50)</li>
<li><strong>hint</strong> – Текст или HTML-текст для подсказки FeedBurner</li>
<li><strong>hintImg</strong> – URL изображения для подсказки FeedBurner. 40х40 пиксел, прозрачный фон, PNG.</li>
<li><strong>str</strong> &#8211; массив строк для вывода в соответствии с требуемой формой множественного числа. Для русского языка состоит из трёх элементов (["читатель", "читателя", "читателей"]).</li>
</ul>
<p>Twitter:</p>
<ul>
<li><strong>id</strong> – Ваш ID на Twitter</li>
<li><strong>imgUrl</strong> – URL изображения для области Twitter бейджика. 50х50 пиксел, прозрачный фон, PNG. Даже если изображение будет отличаться по размеру, оно будет трансформировано (50х50)</li>
<li><strong>hint</strong> – Текст или HTML-текст для подсказки Twitter</li>
<li><strong>hintImg</strong> – URL изображения для подсказки Twitter. 40х40 пиксел, прозрачный фон, PNG.</li>
<li><strong>useAvatar</strong> &#8211; логическая переменная, если <strong>true</strong> &#8211; использовать в качестве изображения для подсказки аватар из аккаунта Twitter, в противном случае (<strong>false</strong>) &#8211; использовать изображение заданное в переменной <strong>hintImg</strong>.</li>
<li><strong>str</strong> &#8211; массив строк для вывода в соответствии с требуемой формой множественного числа. Для русского языка состоит из трёх элементов (["спутник", "спутника", "спутников"])</li>
</ul>
<div id='stb-box-1703' class='stb-warning_box' >Внимание! В отличие от плагина для WordPress, этот плагин не кеширует результаты и, поэтому, раз в сутки, при пересчёте статистики FeedBurner’ом, будет выдаваться 0 подписчиков!.</div>
<div id='stb-box-1093' class='stb-warning_box' >Внимание! Для правильной работы счётчика FeedBurner необходимо включить <strong>Awareness API</strong> на вкладке <strong>Публикуй</strong> в Вашем аккаунте FeedBurner!</div>
<h2> Скачать</h2>
<p>Никаких изменений путей файлов в коде делать не надо. Однако, если по какой-то причине Вы хотите загружать файлы со своего ресурса, Вы можете скачать исходные файлы плагина и разместить их там, где Вам это нужно.</p>
<div id='stb-box-5897' class='stb-download_box' >Примечание: К этой записи прикреплен файл. Чтобы его скачать, откройте запись.</div>
<p>Вы так же можете скачать плагин с сайта Google Codes.</p>
<div id='stb-box-4690' class='stb-download_box' style="background-image: url(http://blogcoding.ru/images/google-projects.png); "><noindex><a target="_blank" title="Скачать Simple Counters" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVYbXlxdVFwBHVULXBxETkIIXhNZVx1aDURXF1BLQEwBXEJXX11SVBccWg1CRw==/" >Simple Counters</a></noindex> на сайте Google Codes.</div>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2819&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/blogger-plagin-simple-counters/' rel='bookmark' title='Blogger-плагин Simple Counters'>Blogger-плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-chavo/' rel='bookmark' title='Simple Counters. ЧАВО!'>Simple Counters. ЧАВО!</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/1H00Jao14bxrIscb1RzvFnUK0F8/0/da"><img src="http://feedads.g.doubleclick.net/~a/1H00Jao14bxrIscb1RzvFnUK0F8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1H00Jao14bxrIscb1RzvFnUK0F8/1/da"><img src="http://feedads.g.doubleclick.net/~a/1H00Jao14bxrIscb1RzvFnUK0F8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/XmZFmbOQPX4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/blogger-plagin-simple-counters-2-0/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/blogger-plagin-simple-counters-2-0/</feedburner:origLink></item>
		<item>
		<title>Подсветка кодов в блоге. Crayon Syntax Highlighter</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/R7LyBJoo83w/</link>
		<comments>http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-crayon-syntax-highlighter/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 16:36:36 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Плагины]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[подсветка кодов]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2791</guid>
		<description><![CDATA[Мои постоянные читатели, видимо, уже заметили, что подсветка кодов в моём блоге, с некоторого времени, стала выглядеть несколько иначе. Вы уже наверное догадались, что я сменил плагин подсветки кодов. Да &#8211; это так. Я, как мне кажется, действительно нашёл идеальный плагин для моего блога, полностью удовлетворяющий мои требования к плагинам такого рода. Итак! Представляю довольно [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-chast-pervaya/' rel='bookmark' title='Подсветка кодов в блоге. Часть первая.'>Подсветка кодов в блоге. Часть первая.</a></li>
<li><a href='http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-chast-vtoraya/' rel='bookmark' title='Подсветка кодов в блоге. Часть вторая.'>Подсветка кодов в блоге. Часть вторая.</a></li>
<li><a href='http://blogcoding.ru/archives/karusel-v-bloge-chast-2/' rel='bookmark' title='Карусель в блоге. Часть 2.'>Карусель в блоге. Часть 2.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2012/01/crayon-post.png"><img class="alignleft size-full wp-image-2792" title="Crayon" src="http://blogcoding.ru/wp-content/uploads/2012/01/crayon-post.png" alt="" width="150" height="80" /></a>Мои постоянные читатели, видимо, уже заметили, что подсветка кодов в моём блоге, с некоторого времени, стала выглядеть несколько иначе. Вы уже наверное догадались, что я сменил плагин подсветки кодов. Да &#8211; это так. Я, как мне кажется, действительно нашёл идеальный плагин для моего блога, полностью удовлетворяющий мои требования к плагинам такого рода.</p>
<p>Итак! Представляю довольно свежий плагин подсветки синтаксиса кода написанный Арамом Кочеряном (Aram Kocharyan) <a href="http://ak.net84.net/projects/crayon-syntax-highlighter" target="_blank">Crayon Syntax Highlighter</a>.<br />
<span id="more-2791"></span></p>
<h2>Возможности</h2>
<p>Плагин написан на PHP и, в отличии от других подобных плагинов, весьма &#8220;лёгок&#8221; и быстр.</p>
<p>На сегодняшний день плагин понимает 14 языков программирования и имеет возможности для увеличения числа оных как силами самого Арама, так и силами сторонних программистов. Для этого необходимо добавить соответствующий файл описания синтаксиса языка на базе прилагаемого шаблона и поместить его в папку <em><strong>langs</strong></em> &#8211; плагин сам его обнаружит и добавит в перечень распознаваемых языков. Очень радует то, что это единственный плагин, из известных мне плагинов, который правильно интерпретирует смешанные языки (например <strong>HTML в PHP</strong> или <strong>Javascript в HTML</strong>).</p>
<p>Плагин имеет несколько цветовых тем отображения кодов. Существующие меня вполне устраивают, но при желании всегда можно добавить свою и это предусмотрено в плагине.</p>
<p>Подсветка кода задаётся тегами коротких кодов <em>crayon</em>, с указанием языка программирования или тегами коротких кодов соответствующего языка (например <em>php</em>). Кроме того!!! Текст кода может быть взят из файла расположенного на сервере. Меня уже достало то, что частенько при обновлении WordPress мои коды корёжатся или вовсе исчезают. Грузить коды из файлов &#8211; отличный выход из этой неприятной ситуации.</p>
<p>Наличие большого количества настроек внешнего вида (отступы, шрифты, анимация и т.д и т.п.) также радует &#8211; можно настроить под любую тему блога и подсветка кода не будет выбиваться из общего русла оформления блога.</p>
<div id='stb-box-8958' class='stb-download_box' ><p><strong><a href='http://wordpress.org/extend/plugins/crayon-syntax-highlighter/'>Crayon Syntax Highlighter</a></strong> <br/>Отличный плагин подсветки синтаксиса кода.</p><p>Автор: <a href="http://ak.net84.net/">Aram Kocharyan</a>, версия: 1.9.6, обновлён: 18.05.2012, <br/>Требуется версия WP: 3.0 или выше, протестирован до версии: 3.3.2.<br/><a href="http://downloads.wordpress.org/plugin/crayon-syntax-highlighter.zip">Скачать</a> (22 916 раз) <img src="http://blogcoding.ru/wp-content/plugins/my-wordpress-plugin-info/img/full.png"/><img src="http://blogcoding.ru/wp-content/plugins/my-wordpress-plugin-info/img/full.png"/><img src="http://blogcoding.ru/wp-content/plugins/my-wordpress-plugin-info/img/full.png"/><img src="http://blogcoding.ru/wp-content/plugins/my-wordpress-plugin-info/img/full.png"/><img src="http://blogcoding.ru/wp-content/plugins/my-wordpress-plugin-info/img/half.png"/> (43 голоса)</p></div>
<h2>Локализация</h2>
<p>Плагин русифицирован и это заслуга Вашего покорного слуги. К сожалению автор плагина изменил мои файлы локализации и кое-что пошло не так. Видимо Арам не в курсе количества <em>plurals</em> (форм множественного числа) в русском языке и тем более не в курсе правил определения этих самых <em>plurals</em>. Кроме того, оригинал плагина предполагает локализацию только административной части плагина, локализация кнопок блока подсвеченного кода не предусмотрена (пока). Для тех кого такое положение дел с локализацией этого замечательного плагина не устраивает, предлагаю скачать либо мои оригинальные файлы локализации плагина (положить в папку <em>trans</em>), либо модифицированный плагин с локализацией Face View (страницы пользовательского просмотра).</p>
<div id='stb-box-4131' class='stb-download_box' >Примечание: К этой записи прикреплен файл. Чтобы его скачать, откройте запись.</div>
<div id='stb-box-3103' class='stb-download_box' >Примечание: К этой записи прикреплен файл. Чтобы его скачать, откройте запись.</div>
<p>Модификация небольшая, нет нужды скачивать весь модифицированный плагин &#8211; Вы сами можете внести изменения в свою копию плагина. Достаточно внести несколько (5) изменений в файл <em>crayon_formatter.class.php</em>.</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Модификация (модифицированные строки выделены):</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Как видите, ничего сложного. После обновления версии можно самому всё исправить и подсказки для кнопок будут на русском языке в любой версии.</p>
<p>Удачи!</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2791&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-chast-pervaya/' rel='bookmark' title='Подсветка кодов в блоге. Часть первая.'>Подсветка кодов в блоге. Часть первая.</a></li>
<li><a href='http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-chast-vtoraya/' rel='bookmark' title='Подсветка кодов в блоге. Часть вторая.'>Подсветка кодов в блоге. Часть вторая.</a></li>
<li><a href='http://blogcoding.ru/archives/karusel-v-bloge-chast-2/' rel='bookmark' title='Карусель в блоге. Часть 2.'>Карусель в блоге. Часть 2.</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/OOhLp5LTXInCinIsO7hpIX5BTUU/0/da"><img src="http://feedads.g.doubleclick.net/~a/OOhLp5LTXInCinIsO7hpIX5BTUU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OOhLp5LTXInCinIsO7hpIX5BTUU/1/da"><img src="http://feedads.g.doubleclick.net/~a/OOhLp5LTXInCinIsO7hpIX5BTUU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/R7LyBJoo83w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-crayon-syntax-highlighter/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/podsvetka-kodov-v-bloge-crayon-syntax-highlighter/</feedburner:origLink></item>
		<item>
		<title>Анатомия плагина WordPress. Часть 3</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/GWBY_-pK_2Q/</link>
		<comments>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 07:26:49 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[плагин]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=1951</guid>
		<description><![CDATA[В предыдущих частях статьи мы рассмотрели коды, определяющие работу плагина. Для определённой категории простых плагинов этого вполне достаточно. Однако действительно универсальный, настраиваемый пользователем плагин должен иметь страницу(ы) настройки, дабы реализовать свою универсальность. Обычно плагин, предоставляющий админу блога возможность собственной настройки, имеет одну страницу параметров. Однако, в случае необходимости, в WordPress имеется возможность задать для плагина [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-2/' rel='bookmark' title='Анатомия плагина WordPress. Часть 2.'>Анатомия плагина WordPress. Часть 2.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-1/' rel='bookmark' title='Анатомия плагина WordPress. Часть 1.'>Анатомия плагина WordPress. Часть 1.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-zaklyuchenie/' rel='bookmark' title='Анатомия плагина WordPress. Заключение'>Анатомия плагина WordPress. Заключение</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2010/08/wp-plugins-3-2.jpg"><img class="alignleft size-full wp-image-2770" style="margin-bottom: 5px; margin-right: 5px;" title="wp-plugins-3-2" src="http://blogcoding.ru/wp-content/uploads/2010/08/wp-plugins-3-2.jpg" alt="" width="200" height="136" /></a>В предыдущих частях статьи мы рассмотрели коды, определяющие работу плагина. Для определённой категории простых плагинов этого вполне достаточно. Однако действительно универсальный, настраиваемый пользователем плагин должен иметь страницу(ы) настройки, дабы реализовать свою универсальность.</p>
<p>Обычно плагин, предоставляющий админу блога возможность собственной настройки, имеет одну страницу параметров. Однако, в случае необходимости, в WordPress имеется возможность задать для плагина сколь угодно много страниц настройки (админ-страниц). В этой статье мы рассмотрим все предоставленные WordPress&#8217;ом возможности.<br />
<span id="more-1951"></span></p>
<h2>Одна страница параметров</h2>
<p>Поскольку в качестве материала для примеров написания кодов в этой статье я использую свой плагин <a href="http://blogcoding.ru/?p=962" target="_blank"><strong>Multilingual Comments Number</strong></a>, рассмотрим как админ-страница реализована именно в этом плагине.</p>
<h3>Классический метод</h3>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Если Вы помните, функция <strong>onAdminPage</strong> была заявлена в конструкторе как action для вызова административной страницы:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Сама функция вывода страницы выглядит так:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Поскольку на сегодняшний день классический метод вывода параметров можно считать устаревшим, я не стану подробно разбирать функцию вывода. Отмечу лишь, что эта функция является универсальной и вместе стем избыточной. Она позволяет произвести вывод любого количества как секций параметров, так и самих параметров, при этом параметры могут быть выведены на экран как в виде текстового поля так и в виде радио-кнопок и списков выбора (select). Всё это можно задать в массиве параметров, служащем исходными данными для вывода на экран.</p>
<h3>Современный метод</h3>
<p>Начиня с <strong>WordPress версии 2.9</strong> появилась возможность использовать <noindex><a target="_blank" title="Wordpress Codex" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOYAZBRllXBUJmImVw/" ><strong>Settings API</strong></a></noindex>, что позволяет разработчику более гибко обращаться с параметрами плагина.</p>
<p>В последней версии <strong>Multilingual Comments Number</strong> я использовал именно этот метод.</p>
<p>Объявляем и регистрируеем параметры плагина:</p>
<p>В конструкторе класса плагина добавляем <strong>action</strong> регистрации параметров:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Пишем функцию для регистрации параметров плагина, в которой используются три функции из <strong>Settings API</strong>:</p>
<ol>
<li><noindex><a target="_blank" title="Wordpress Codex" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOdRZbUURQDV9mMVBfVhEAXVZcHFNXVDtAUxBFWloGQj5ABlZGWVYM/" ><strong>add_settings_section</strong></a></noindex> &#8211; объявляет секцию параметров для их компактного отображения. Все параметры объявленные в секции будут сгруппированы в пределах этой секции. Как именно будет прорисована секция можно определить в callback-функции.</li>
<li><noindex><a target="_blank" title="Wordpress Codex" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOdRZbUURQDV9mMVBfVhEAXVZcHFNXVDtAUxBFWloGQj5VClBeVA==/" ><strong>add_settings_field</strong></a></noindex> &#8211; объявляет параметр, т.е. заявляет о его существовании и, с помощью callback-функции, определяет способ отображения.</li>
<li><noindex><a target="_blank" title="Wordpress Codex" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOdRZbUURQDV9mMVBfVhEAXVZcHEBWVw1AQgFDbEcERRVaDVI=/" ><strong>register_setting</strong></a></noindex> &#8211; регистрирует ранее объявленный параметр, т.е. заявляет о необходимости сохранения значения параметра в таблицу параметров WordPress. Так же объявляет функцию проверки введённого параметра, если это необходимо.</li>
</ol>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Как видите, в данном случае, параметры плагина будут размещены не на отдельной странице, а на странице параметров WordPress &#8220;Обсуждение&#8221;, что для этого плагина вполне логично. Для этого я задал параметр <strong>page</strong> как &#8220;<em>discussion</em>&#8220;, если бы я захотел иметь отдельную страницу параметров, я задал бы что-нибудь вроде &#8220;<em>mcn-settings</em>&#8221; &#8230;</p>
<p>Теперь опишем callback-функции для секции и параметров:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>На сегодняшний день, callback секции может выводить только описание секции &#8230;</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Как видно из кодов приведённых выше, callback-функции параметров задают внешний вид вывода как самого параметра так и его описания.</p>
<p>Функция проверки параметра довольно проста &#8211; в качестве входящего значения передаётся введённый параметр, с ним можносделать всё, что душе угодно:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Стоит отметить, что вывод параметров на стандартную страницу параметров будет осуществлён автоматически, с помощью встроенных методов Settings API WordPress. В том случае, когда проектируется редактирование параметров плагина на его собственной странице, необходимо эту страницу создать.</p>
<p>Регистрируется страница также как и в &#8220;классическом&#8221; способе:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Строится такая страница с использованием встроенных методов <em>settings_fields</em> и <em>do_settings_sections</em>:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p><strong><noindex><a target="_blank" title="settings_fields" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOdRZbUURQDV9mMVBfVhEAXVZcHEFWRBBaWANCbFIIVA1XEA==/" >settings_fields</a></noindex></strong> &#8211; выводит скрытые поля необходимые для обслуживания страниц параметров.</p>
<p><strong><noindex><a target="_blank" title="do_settings_sections" href="http://blogcoding.ru/35671b/URZFSVkaFlAMAVZNF0RdQVQUQVMXQh1bE1ZOdRZbUURQDV9mMVBfVhEAXVZcHFZcbxdWQhBYXVMSbhJWAEFbX1cR/" >do_settings_sections</a></noindex></strong> &#8211; прорисовывает секции и поля параметров, объявленные в коде плагина. К сожалению, вывод данных с помощью этой функции довольно примитивен. Кроме того, не позволяет использовать универсальные call-back функции для однотипных параметров &#8211; приходится использовать для каждого параметра свою call-back функцию, что является растранжириванием ресурсов. Как улучшить ситуацию мы рассмотрим в одной из следующих статей, в самое ближайшее время.</p>
<p>&nbsp;</p>
<h2>Несколько страниц параметров</h2>
<p>Серьёзные по объёму плагины часто требуют нескольких страниц параметров, например</p>
<ul>
<li>собственно параметры</li>
<li>параметры элементов хранимых в базе данных</li>
<li>редактор элементов хранимых в базе данных</li>
</ul>
<p>Это, по большому счёту, классическая схема. Плагины имеющие огромное количество параметров, не умещающихся на одной странице, обычно используют разбиение параметров не по страницам, а по вкладкам. Разумеется, истина, как всегда, находится где-то посередине, поэтому комбинированный метод отображения параметров (страницы + вкладки) наиболее распространён. Пример: мой плагин <strong><a title="Simple View" href="http://blogcoding.ru/archives/wordpress-plagin-simple-view/" target="_blank">Simple View</a></strong>.</p>
<p>Начальные действия идентичны как для классического так и для современного методов.</p>
<p>Так же как и при одностраничном варианте добавляется action в конструктор:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>затем описываем добавляемые страницы (пример из плагина Simple View):</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>при этом, для каждой из добавляемых страниц, можно загрузить таблицы стилей и скрипты javascript.</p>
<p>Для каждой страницы, разумеется, необходимо написать функцию для построения соответствующей страницы параметров Вашего плагина. Правила написания те же, что и для одной страницы параметров (см. выше).</p>
<p>Продолжение следует &#8230;</p>
<p style='text-align:left'>&copy; 2012, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h4>Постовой</h4><ul><li>Любители совершенного звука, который учитывает все их личные предпочтения, безусловно, будут довольны приложением iTunes. Оно по достоинству будет оценено в первую очередь теми, кто считает важным качественный уровень воспроизведения песен, а не только текст и мелодию. <a class='supad' href="http://itunes-11.net/" title="itunes скачать">Скачать iTunes</a>.</li></ul></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=1951&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-2/' rel='bookmark' title='Анатомия плагина WordPress. Часть 2.'>Анатомия плагина WordPress. Часть 2.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-1/' rel='bookmark' title='Анатомия плагина WordPress. Часть 1.'>Анатомия плагина WordPress. Часть 1.</a></li>
<li><a href='http://blogcoding.ru/archives/anatomiya-plagina-wordpress-zaklyuchenie/' rel='bookmark' title='Анатомия плагина WordPress. Заключение'>Анатомия плагина WordPress. Заключение</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/tc35fprCcm28-jJ9laEzghDhuWw/0/da"><img src="http://feedads.g.doubleclick.net/~a/tc35fprCcm28-jJ9laEzghDhuWw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tc35fprCcm28-jJ9laEzghDhuWw/1/da"><img src="http://feedads.g.doubleclick.net/~a/tc35fprCcm28-jJ9laEzghDhuWw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/GWBY_-pK_2Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/anatomiya-plagina-wordpress-chast-3/</feedburner:origLink></item>
		<item>
		<title>Обновление плагина Simple Counters</title>
		<link>http://feedproxy.google.com/~r/minimus/~3/i7OyGMVej80/</link>
		<comments>http://blogcoding.ru/archives/obnovlenie-plagina-simple-counters/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 20:06:41 +0000</pubDate>
		<dc:creator>minimus</dc:creator>
				<category><![CDATA[Плагины]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blogcoding.ru/?p=2596</guid>
		<description><![CDATA[Давно хотел привести в порядок свой плагин Simple Counters, но всё как-то руки не доходили. Но вот, взял волю в кулак, и свершилось. Обновление прошло в два этапа (версии 1.0.15 и 1.1.17). На первом этапе очистил код от мусора, т.е. систематизировал и оптимизировал его. Так же добавил локализацию слов &#8220;readers&#8221; и &#8220;followers&#8221; в бейджике. Однако, [...]
Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-chavo/' rel='bookmark' title='Simple Counters. ЧАВО!'>Simple Counters. ЧАВО!</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-opros/' rel='bookmark' title='Simple Counters. Опрос'>Simple Counters. Опрос</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blogcoding.ru/wp-content/uploads/2011/10/simple-counters.png"><img class="alignleft size-full wp-image-2607" style="margin-bottom: 5px; margin-right: 5px;" title="simple-counters" src="http://blogcoding.ru/wp-content/uploads/2011/10/simple-counters.png" alt="" width="150" height="150" /></a>Давно хотел привести в порядок свой плагин <a title="Wordpress плагин Simple Counters" href="http://blogcoding.ru/archives/wordpress-plagin-simple-counters/"><strong>Simple Counters</strong></a>, но всё как-то руки не доходили. Но вот, взял волю в кулак, и свершилось.</p>
<p>Обновление прошло в два этапа (версии 1.0.15 и 1.1.17). На первом этапе очистил код от мусора, т.е. систематизировал и оптимизировал его. Так же добавил локализацию слов &#8220;<strong>readers</strong>&#8221; и &#8220;<strong>followers</strong>&#8221; в бейджике. Однако, судя по <a title="Опрос" href="http://blogcoding.ru/archives/simple-counters-opros/">проведённому опросу</a>, не всем понравилось это нововведение. Поэтому, на втором этапе, я добавил возможность отключения локализации этих двух слов, а так же добавил возможность изменения локализации этих слов с помощью фильтров WordPress, поскольку опрос показал, что разные блоггеры переводят эти слова по разному.<br />
<span id="more-2596"></span><br />
Почему, всё же, фильтры, а не параметры? Дело в том, что в различных языках существует разное количество форм множественного числа и разные правила их использования. Например в английском языке есть только одна форма множественного числа (один и много), а в чешском &#8211; две, такие же как и в русском (один, 2..4, много), но в отличие от русского языка, форма 2..4 применяется только в первом десятке. Как видите, учесть всё это разнообразие очень сложно и если попытаться запихнуть всё это в параметры, код плагина необоснованно раздуется до невероятных размеров. А при использовании фильтров, программист сам запрограммирует количество форм множественного числа для своего языка и правила их использования.</p>
<h2>Фильтры Simple Counters</h2>
<p>Для собственной локализации слов &#8220;readers&#8221; и &#8220;followers&#8221; Вы можете использовать фильтры плагина &#8220;<em>simple_counters_localization_feedburner</em>&#8221; и &#8220;<em>simple_counters_localization_twitter</em>&#8220;. Для того чтобы их использовать, необходимо добавить в файл <em>functions.php</em> шаблона темы следующий код:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>или такой:</p>
<p></p><pre class="crayon-plain-tag"></pre><p></p>
<p>Как видите, ничего сложного. Коды приведённые выше можно использовать как шаблон для собственных фильтров.</p>
<p>Для программистов &#8230; Каждый фильтр получает две переменные. Первая (string) &#8211; нефильтрованное выражение передаваемое в параметры. Второе (integer) &#8211; количество подписчиков или фолловеров, в зависимости от фильтра.</p>
<p><strong>Примечание!</strong> При отсутствии определения фильтра в бейджик будет выводиться стандартный перевод из файла локализации.</p>
<p style='text-align:left'>&copy; 2011, <a href='http://blogcoding.ru'>minimus</a>. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.</p>

<div><h4>Постовой:</h4><ul><li>Вы ещё не пользуетесь Купонатором? Зря! Пользуясь Купонатором вы будете экономить около 100 тысяч рублей в год, получая при этом услуг, развлечений и товаров больше чем раньше! Попробуйте и Вы не пожалеете:  <a class="supad" href="http://kuponator.ru/serpuhov" title="скидочные купоны серпухов">Скидочные купоны. Серпухов!</a></li></ul></div>
 
<img src="http://blogcoding.ru/?ak_action=api_record_view&id=2596&type=feed" alt="" /><p>Похожие статьи:<ol>
<li><a href='http://blogcoding.ru/archives/wordpress-plagin-simple-counters/' rel='bookmark' title='WordPress плагин Simple Counters'>WordPress плагин Simple Counters</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-chavo/' rel='bookmark' title='Simple Counters. ЧАВО!'>Simple Counters. ЧАВО!</a></li>
<li><a href='http://blogcoding.ru/archives/simple-counters-opros/' rel='bookmark' title='Simple Counters. Опрос'>Simple Counters. Опрос</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/bGEBBwYJ-hVOIt6NVADl896WWiY/0/da"><img src="http://feedads.g.doubleclick.net/~a/bGEBBwYJ-hVOIt6NVADl896WWiY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bGEBBwYJ-hVOIt6NVADl896WWiY/1/da"><img src="http://feedads.g.doubleclick.net/~a/bGEBBwYJ-hVOIt6NVADl896WWiY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/minimus/~4/i7OyGMVej80" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogcoding.ru/archives/obnovlenie-plagina-simple-counters/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://blogcoding.ru/archives/obnovlenie-plagina-simple-counters/</feedburner:origLink></item>
	</channel>
</rss>

