Skip to content

Instantly share code, notes, and snippets.

@matheusgimenez
Created August 30, 2018 04:51
Show Gist options
  • Save matheusgimenez/638b50e4b0a413ea2292be46156ef9c4 to your computer and use it in GitHub Desktop.
Save matheusgimenez/638b50e4b0a413ea2292be46156ef9c4 to your computer and use it in GitHub Desktop.
Script de importação de posts WordPress para WordPress usando a REST API
<?php
/* Template Name: Migração -> Blog Teoria */
get_header();
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
$autores_excluir_str = 'Alejandro Iturbe,Alicia Sagra,Aluizia do Nascimento Freire,Américo Gomes,Ana Godoi,Ana Pagu,Antonio Rodrigues Belon,Daniel Solon,Francesco Ricci,Gustavo Henrique Lopes Machado,Jeferson Choma,Jerônimo Castro,Joana B.,José Welmowicki,Julio Anselmo,Martín Hernández,Martin Ralph,Miguel Malheiros,Nazareno Godeiro,Otavio Luiz Pinheiro Aranha,Pablo Biondi,Rodrigo Ricupero,Ronald León Núñez,Rosenverck E. Santos,Soraya,Misleh,Wagner Miquéias F. Damasceno,Wilson Honório da Silva,Vinicius Lima da Silva,Zé Maria';
$autores_excluir = explode( ',', $autores_excluir_str );
var_dump( $autores_excluir );
echo '<br><br>';
$request_url = 'https://blog.esquerdaonline.com/?rest_route=/wp/v2/posts';
if ( isset( $_GET[ 'page_num' ] ) ) {
$request_url .= '&page=' . $_GET[ 'page_num' ];
} else {
$_GET[ 'page_num' ] = 1;
}
$response = wp_remote_get( $request_url );
if ( is_array( $response ) ) {
$header = $response['headers']; // array of http header lines
$body = $response['body']; // use the content>
$posts = json_decode( $body );
if ( $posts && is_array( $posts ) ) {
foreach ( $posts as $post ) {
echo '<br>';
var_dump( $post->pure_taxonomies->categories );
$continue = true;
foreach( $post->pure_taxonomies->categories as $category ) {
if ( in_array( $category->name, $autores_excluir ) ) {
$continue = false;
break;
}
}
if ( ! $continue ) {
echo '<br>ERRRRO: Autor no PSTU';
continue;
}
var_dump( $post->title->rendered );
$tags = array();
if ( isset( $post->pure_taxonomies->tags ) && ! empty( $post->pure_taxonomies->tags ) ) {
foreach ( $post->pure_taxonomies->tags as $tag ) {
$tags[] = $tag->name;
}
}
$new_post = array(
'post_title' => $post->title->rendered,
'post_content' => $post->content->rendered,
'post_status' => 'publish',
'post_date' => $post->date
);
if ( ! empty( $tags ) ) {
$new_post[ 'tags_input' ] = $tags;
}
$add_new_post = wp_insert_post( $new_post, true );
if ( is_wp_error( $add_new_post ) ) {
var_dump( $add_new_post );
continue;
}
wp_set_object_terms( $add_new_post, array( 'teoria' ), 'editorias', false );
wp_set_post_tags( $add_new_post, $tags, false );
$thumbnail_url = $post->better_featured_image->source_url;
echo 'OLD THUMB URL <br>';
var_dump( $thumbnail_url );
$thumbnail_id = media_sideload_image( $thumbnail_url, $add_new_post, null, 'id' );
echo 'THUMB ID <br>';
var_dump( $thumbnail_id );
set_post_thumbnail( $add_new_post, $thumbnail_id );
echo '<br>---------------<br>';
}
}
$_GET[ 'page_num' ]++;
if ( intval( $_GET[ 'page_num' ] ) < 84 ) {
echo '<script>window.location.href = "https://esquerdaonline.org/migracao-blog-teoria/?page_num='. $_GET[ 'page_num'] . '";</script>';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment