<?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>SSERAPHIM Блог &#187; wordpress</title>
	<atom:link href="http://sseraphim.ru/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://sseraphim.ru</link>
	<description>Очередной блог на WordPress</description>
	<lastBuildDate>Wed, 02 Nov 2011 23:01:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>WordPress и экспорт определённой категории.</title>
		<link>http://sseraphim.ru/2010/03/20/wordpress-%d0%b8-%d1%8d%d0%ba%d1%81%d0%bf%d0%be%d1%80%d1%82-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b5%d0%b3%d0%be%d1%80%d0%b8%d0%b8/</link>
		<comments>http://sseraphim.ru/2010/03/20/wordpress-%d0%b8-%d1%8d%d0%ba%d1%81%d0%bf%d0%be%d1%80%d1%82-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b5%d0%b3%d0%be%d1%80%d0%b8%d0%b8/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 20:24:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sseraphim.ru/?p=127</guid>
		<description><![CDATA[Сегодня возникла необходимость экспортировать контент из одного блога, который работает на WordPress. Но проблема в том, что мне нужен был контент из определённой категории. Если вы хоть раз делали бекап блога, то наверное заметили, что экспорт делается только по авторам/пользователям, а возможности выбора категории нету. Нижеописанный способ найден не мною, но я его подогнал под [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня возникла необходимость экспортировать контент из одного блога, который работает на WordPress. Но проблема в том, что мне нужен был контент из определённой категории. Если вы хоть раз делали бекап блога, то наверное заметили, что экспорт делается только по авторам/пользователям, а возможности выбора категории нету. Нижеописанный способ найден не мною, но я его подогнал под версию 2.9.2, т.к. код частично изменился в сравнении с тем, который был год назад. Он помогает заменить выбор автора на выбор категории. Заменяет, а не добавляет!</p>
<p>До изменений видим следующее:</p>
<p><a href="http://sseraphim.ru/wp-content/uploads/2010/03/xml1.jpg"><img class="aligncenter size-full wp-image-129" title="xml export" src="http://sseraphim.ru/wp-content/uploads/2010/03/xml1.jpg" alt="Вид до внесения изменений в экспорт xml" width="343" height="304" /></a></p>
<p>Открываем wp-admin/export.php, находим код:</p>
<p><code>if ( isset( $_GET['download'] ) ) {<br />
$author = isset($_GET['author']) ? $_GET['author'] : 'all';<br />
export_wp( $author );<br />
die();<br />
}</code></p>
<p>и заменяем его на следующий:<span id="more-127"></span></p>
<p><code>if ( isset( $_GET['download'] ) ) {<br />
$category = isset($_GET['category']) ? $_GET['category'] : 'all';<br />
export_wp( $category );<br />
die();<br />
}</code></p>
<p>Теперь ищем:</p>
<p><code>&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;th&gt;&lt;label for="author"&gt;&lt;?php _e('Restrict Author'); ?&gt;&lt;/label&gt;&lt;/th&gt;<br />
&lt;td&gt;<br />
&lt;select name="author" id="author"&gt;<br />
&lt;option value="all" selected="selected"&gt;&lt;?php _e('All Authors'); ?&gt;&lt;/option&gt;<br />
&lt;?php<br />
$authors = $wpdb-&gt;get_col( "SELECT post_author FROM $wpdb-&gt;posts GROUP BY post_author" );<br />
foreach ( $authors as $id ) {<br />
$o = get_userdata( $id );<br />
echo "&lt;option value='" . esc_attr($o-&gt;ID) . "'&gt;$o-&gt;display_name&lt;/option&gt;";<br />
}<br />
?&gt;<br />
&lt;/select&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
</code><br />
и заменяем на:</p>
<p><code>&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;th&gt;&lt;label for="category"&gt;&lt;?php _e('Выберите категорию'); ?&gt;&lt;/label&gt;&lt;/th&gt;<br />
&lt;td&gt;<br />
&lt;select name="category" id="category"&gt;<br />
&lt;option value="all" selected="selected"&gt;&lt;?php _e('All Categories'); ?&gt;&lt;/option&gt;<br />
&lt;?php<br />
$categories = (array) get_categories('get=all');<br />
foreach ( $categories as $c ) {<br />
$o = get_userdata( $id );<br />
echo "&lt;option value='" . esc_attr($c-&gt;term_taxonomy_id) . "'&gt;$c-&gt;cat_name&lt;/option&gt;";<br />
}<br />
?&gt;<br />
&lt;/select&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</code></p>
<p>В результате получается следующее:</p>
<p><a href="http://sseraphim.ru/wp-content/uploads/2010/03/xml2.jpg"><img class="aligncenter size-full wp-image-130" title="xml export by category" src="http://sseraphim.ru/wp-content/uploads/2010/03/xml2.jpg" alt="Вот так выглядит экспорт в xml после внесения изменений" width="340" height="386" /></a></p>
<p>Но это пока не всё, нужно ещё изменить wp-admin/includes/export.php, иначе ничего нужного вы не экспортируете.</p>
<p>Переходим к wp-admin/includes/export.php, ищем код:</p>
<p><code>function export_wp($author='') {</code></p>
<p>Заменяем на:</p>
<p><code>function export_wp($cat='') {</code></p>
<p>Ищем:</p>
<p><code>$where = '';<br />
if ( $author and $author != 'all' ) {<br />
$author_id = (int) $author;<br />
$where = $wpdb-&gt;prepare(" WHERE post_author = %d ", $author_id);<br />
}</code></p>
<p>Меняем на:<br />
<code><br />
$where = '';<br />
if ( $cat and $cat != 'all' ) {<br />
$cat_id = (int) $cat;<br />
$ids = $wpdb-&gt;get_col("SELECT object_id FROM $wpdb-&gt;term_relationships WHERE term_taxonomy_id=$cat");<br />
$where = $wpdb-&gt;prepare(" WHERE ID IN(".join(',',$ids).")");<br />
}</code></p>
<p>Вот теперь можно экспортировать контент из определённых категорий, правда при импорте в TextKit видны пустые папки категорий, которые я не экспортировал, но они были на том блоге. Но всё же это не разовая потребность, в моём случае, и теперь нет необходимости качать xml-файлы весом в многие десятки Мегабайт при необходимых максимум двух/трёх, а иногда меньше 500 килобайт, если в нужной категории немногим больше сотни статей.</p>
]]></content:encoded>
			<wfw:commentRss>http://sseraphim.ru/2010/03/20/wordpress-%d0%b8-%d1%8d%d0%ba%d1%81%d0%bf%d0%be%d1%80%d1%82-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d0%be%d0%b9-%d0%ba%d0%b0%d1%82%d0%b5%d0%b3%d0%be%d1%80%d0%b8%d0%b8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

