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

<channel>
	<title>fxposter&#039;s wave &#187; Wordpress Filters</title>
	<atom:link href="http://blog.fxposter.org/tag/wordpress-filters/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fxposter.org</link>
	<description>Stories about Ruby, JavaScript, Objective-C and other cool tools</description>
	<lastBuildDate>Sun, 30 Oct 2011 20:00:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>wptexturize bugfix plugin</title>
		<link>http://blog.fxposter.org/2008/05/19/wptexturize-bugfix-plugin/</link>
		<comments>http://blog.fxposter.org/2008/05/19/wptexturize-bugfix-plugin/#comments</comments>
		<pubDate>Mon, 19 May 2008 07:50:42 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Wordpress Filters]]></category>
		<category><![CDATA[Worpress Plugins]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=423</guid>
		<description><![CDATA[Вдогонку к предыдущему посту. В первом же комментарии заметили, что править wp&#8217;шные исходники в общем случае нежелательно. В принципе и не &#8220;в общем&#8221; случае тоже нежелательно. :) Поэтому - исправляемся. Теперь для решения проблемы из предыдущего поста достаточно скачать плагин (txt, zip).]]></description>
			<content:encoded><![CDATA[<p>Вдогонку к <a href="http://blog.fxposter.org/2008/05/18/wordpress-filters-wptexturize-bug/">предыдущему посту</a>. В первом же комментарии заметили, что править wp&#8217;шные исходники в общем случае нежелательно. В принципе и не &#8220;в общем&#8221; случае тоже нежелательно. :) Поэтому - исправляемся.</p>
<p>Теперь для решения проблемы из предыдущего поста достаточно скачать плагин (<a href="http://blog.fxposter.org/wp-content/uploads/2008/05/wptexturize_bugfix.phps">txt</a>, <a href="http://blog.fxposter.org/wp-content/uploads/2008/05/wptexturize_bugfix.zip">zip</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/05/19/wptexturize-bugfix-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Filters: баг в wptexturize</title>
		<link>http://blog.fxposter.org/2008/05/18/wordpress-filters-wptexturize-bug/</link>
		<comments>http://blog.fxposter.org/2008/05/18/wordpress-filters-wptexturize-bug/#comments</comments>
		<pubDate>Sun, 18 May 2008 16:33:06 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Wordpress Filters]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=420</guid>
		<description><![CDATA[Столкнулся с багом в WordPress&#8217;е при выводе постов, а точнее в &#8220;применении&#8221; к ним &#8220;типографики&#8221;: Как видите, кавычки в некоторых словах расставлены абсолютно не так, как нужно. В поисках решения проблемы обнаружил следующее - в WordPress&#8217;е на каждый блок выходных данных, будь то заголовок, сам пост, его комментарии или что-либо еще, навешиваются фильтры, которые определенным [...]]]></description>
			<content:encoded><![CDATA[<p>Столкнулся с багом в WordPress&#8217;е при выводе постов, а точнее в &#8220;применении&#8221; к ним &#8220;типографики&#8221;:</p>
<p><a class="nyroModal" href="http://blog.fxposter.org/wp-content/uploads/2008/05/wptypo.png" title="Смотрим на кавычки"><img class="alignnone size-medium wp-image-421" src="http://blog.fxposter.org/wp-content/uploads/2008/05/wptypo-300x205.png" alt="wptexturize" width="300" height="205" /></a></p>
<p>Как видите, кавычки в некоторых словах расставлены абсолютно не так, как нужно. В поисках решения проблемы обнаружил следующее - в WordPress&#8217;е на каждый блок выходных данных, будь то заголовок, сам пост, его комментарии или что-либо еще, навешиваются фильтры, которые определенным образом изменяют блок - убирают теги, заменяют одни символы на другие и т. д.</p>
<p>В данном случае меня интересовал блок <code>the_content</code> (в данном случае понятие &#8220;блок&#8221; можно интерпретировать как &#8220;функция WP, которая возвращает некий контент&#8221;), который выводит содержимое поста. В файле <code>wp-includes/default-filters.php</code> можно увидеть, какие фильтры применяются к этому блоку:</p>
<pre><code class="php">add_filter('the_content', 'wptexturize');
add_filter('the_content', 'convert_smilies');
add_filter('the_content', 'convert_chars');
add_filter('the_content', 'wpautop');
add_filter('the_content', 'prepend_attachment');</code></pre>
<p>Методом проб и ошибок было установлено, что найденный мной баг &#8220;создает&#8221; фильтр <code>wptexturize</code> (в WP &#8220;фильтр&#8221; - это функция, которая принимает 1 аргумент - входящий текст, и возвращает обработанный текст). Функция нашлась в файле <code>wp-includes/formatting.php</code>. Она выполняет &#8220;типографскую&#8221; работу, при этом пропуская всё, что находится между тегами <code>pre</code>, <code>code</code>, <code>kbd</code>, <code>style</code> и <code>script</code>. В теории&#8230; На практике - нихрена она не пропускает, если внутри одного из этих тегов будет какой-либо другой тег (что, в принципе, возможно, но встречается редко, а случай pre &gt; code система хавает на ура), либо если внутри какого-нибудь из этих тегов встретится \[.*\] - вот такой кусок (у меня этим куском был <code>[<span class="string">'comment_post_ID'</span>]</code>, например). Почему так - не могу знать (мне вообще непонятно зачем наряду с тегами <code>&lt;.*&gt;</code> рассматривать еще и <code>\[.*\]</code>), но факт остается фактом. Улучшенная версия этого файла находится <a href="http://blog.fxposter.org/wp-content/uploads/2008/05/formatting.phps">здесь</a> (у меня WP 2.5.1, если что).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/05/18/wordpress-filters-wptexturize-bug/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: blog.fxposter.org @ 2012-02-11 00:46:34 -->
