Экспорт из WordPress по категориям
Стандартно экспортировать из вордпресса можно только по авторам, ниже представлены шаги как сделать по категориям.
Открываем wp-admin/export.php и ищем там строчки:
1 2 3 4 | if ( isset( $_GET['download'] ) ) {
export_wp( $_GET['author'] );
die();
} |
меняем на это:
1 2 3 4 | if ( isset( $_GET['download'] ) ) {
export_wp( $_GET['category'] );
die();
} |
Далее находим:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <table class="form-table">
<tr>
<th><label for="author"><?php _e('Restrict Author'); ?></label></th>
<td>
<select name="author" id="author">
<option value="all" selected="selected"><?php _e('All Authors'); ?></option>
<?php
$authors = $wpdb->get_col( "SELECT post_author FROM $wpdb->posts GROUP BY post_author" );
foreach ( $authors as $id ) {
$o = get_userdata( $id );
echo "<option value='$o->ID'>$o->display_name</option>";
}
?>
</select>
</td>
</tr>
</table> |
меняем на:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <table class="form-table">
<tr>
<th><label for="category"><?php _e('Выберете категорию'); ?></label></th>
<td>
<select name="category" id="category">
<option value="all" selected="selected"><?php _e('All Categories'); ?></option>
<?php
$categories = (array) get_categories('get=all');
foreach ( $categories as $c ) {
echo "<option value='$c->term_taxonomy_id'>$c->cat_name</option>";
}
?>
</select>
</td>
</tr>
</table> |
Открываем следующий файл wp-admin/includes/export.php
1 | function export_wp($author='') { |
Меняем:
1 | function export_wp($cat='') { |
Теперь найдем:
1 2 3 4 | if ( $author and $author != 'all' ) {
$author_id = (int) $author;
$where = $wpdb->prepare(" WHERE post_author = %d ", $author_id);
} |
И поменяем:
1 2 3 4 5 | if ( $cat and $cat != 'all' ) {
$cat_id = $cat;
$ids = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id=$cat");
$where = $wpdb->prepare(" WHERE ID IN(".join(',',$ids).")");
} |
На выходе получаем XML файл, который можно импортировать встроенными средствами Wordpress.