
Cicklow
Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
Suscripción a IA
Buenas en este nuevo tutorial, van a ver como crear un BOOOOOOT que obtenga videos de TUMBLR y los postee en WP, sin hacer mas que ejecutar el boooooot!.
El boooooot funciona con cualquier blog de tumblr que tenga videos (no importa la fecha), pueden extraer todos los videos que tenga, o por X cantidad...
(Usaremos la API => https://www.tumblr.com/docs/en/api/v2)
Programar nuestro boooooot en PHP
(No se explicara en detalle TODOOOOOOOOOOOO el code... sino lo mas importante para que mas o menos se entienda...)
Para leer el json que la api nos provee tendremos que leer una url como esta:
Donde:
$BLOG seria la url (sin http://) del blog del cual sacaremos los videos (ejemplo: peacecorps.tumblr.com)
$KEYN seria la key que nos permite usar la api (la sacan de https://www.tumblr.com/docs/en/api/v2#posts hacen click en el link de ejemplo y obtienen la key, sisi... sin crear una apps)
Al leer esta url obtendremos un objeto JSON, usaremos json_decode para convertir ese JSON a un ARRAY:
Y comenzaremos a parsear ese ARRAY:
Ahora que sabemos como obtener los post (solo videos ya que indicamos en la URL de la api obtener solo videos...) necesitamos agregarlos al WP....
Para esto agregamos a nuestro PHP las config de WP (al hacerlo podremos usar las funciones basicas de WP, que no dependan de otros archivos):
Dentro del foreach encargado de parsear el array, tendremos que usar las funciones de WP para agregar los post:
Creamos un array con lo basico de un post de WP
Como ven se agrego el
al contenido del POST, esto es para que no aparezca el video en el inicio de nuestro sitio, sino cuando entremos al post...
Si queremos agregar el texto que se encuentra conjuntamente con el video, solo tienen que cambiar:
Por
Ahora agregaremos ese post a WP
(https://codex.wordpress.org/Function_Reference/wp_insert_post)
Como vemos agregar un post desde código es fácil, pero simplemente agregando el video no sera suficiente, tambien agregaremos una imagen destacada con la imagen del video...
Vamos a necesitar librerias apartes de WP para esto
Obtenemos la imagen de la captura del video y la agregamos al post, obteniendo de esta manera la url de la imagen dentro de nuestro WP
(https://codex.wordpress.org/Function_Reference/media_sideload_image)
Ahora agregamos la imagen como destacada
Este code es medio complicado de entender, pero no imposible... lo que hacemos es verificar que la imagen se agrego al post correctamente, luego de esto en la variable $filename agregamos el nombre de nuestra imagen (ejemplo pepe.jpg), y luego obtenemos la imagen en las medidas de nuestro theme (cada theme tiene las imagenes destacadas con sus medidas, toca ver cuales son buscando en functions.php este code:
esto nos dice que las imagenes destacadas son de 300x250, ustedes cambian ese tamaño por el de su theme... otra forma de saber el tamaño es subir una imagen destacada a un post cualquiera, luego van a la carpeta: \wp-content\uploads\AÑO\MES\ y van a ver las imagenes tipo: tumblr_nlx7bz3t0o1unhwcj_frame1-300x250.jpg)
Con wp_insert_attachment agregamos la imagen destacada al post en cuestion, y con add_post_meta le indicamos que es el thumb del post (es todo un lio... pero es cuestion de ir aprendiendo)...
De esa forma agregariamos los post a nuestro WP y le asignamos las imagenes destacadas de cada video... como ven se usa HTML5 para reproducir el video, esto es bueno ya que funciona en los navegadores de los celulares y cualquier otro navegador... Ustedes pueden usar cualquier reproductor, ya que obtienen la url del video en formato MP4.
Al inicio (depende de cada theme... es mejor un theme tipo galeria o tube):
(no pongo vista previa del post... pues es un video XXX)
Bien el code lo guardamos dentro de un archivo PHP, en el mismo lugar donde se encuentra: wp-config.php (este plugin es externo, no se maneja desde el admin de WP... sino que se accede desde
)
Es bastante basico, pero se le pueden hacer muuuchas mejoras, en una sola tirada pueden agregar mas de 600 videos (dependiendo del blog de donde los estamos sacando...)...
El codigo que explique lo he echo bien basico, el plugin maneja todos los offsets del blog (ya que solo se obtienen 20 videos por leida, entonces se calcula cuantos videos totales hay y se dividen de a 20)... y otras cosas...
No solo funciona para sitios XXX, sino tmb para cualquier blog tumblr con video...
Descarga:
Los sitios de VINES (recopilacion de vines, no todo es XXX) no se obtendran la url del video... ya que no existe, se postea un embed, en ese caso tendrian que cambiar:
Por
o
Saludos y happy boooooot!
El boooooot funciona con cualquier blog de tumblr que tenga videos (no importa la fecha), pueden extraer todos los videos que tenga, o por X cantidad...
(Usaremos la API => https://www.tumblr.com/docs/en/api/v2)
Programar nuestro boooooot en PHP
(No se explicara en detalle TODOOOOOOOOOOOO el code... sino lo mas importante para que mas o menos se entienda...)
Para leer el json que la api nos provee tendremos que leer una url como esta:
PHP:
$URL = "http://api.tumblr.com/v2/blog/".$BLOG."/posts/video?api_key=".$KEYN."¬es_info=true&type=video&offset=##DESDE##";
$BLOG seria la url (sin http://) del blog del cual sacaremos los videos (ejemplo: peacecorps.tumblr.com)
$KEYN seria la key que nos permite usar la api (la sacan de https://www.tumblr.com/docs/en/api/v2#posts hacen click en el link de ejemplo y obtienen la key, sisi... sin crear una apps)
Al leer esta url obtendremos un objeto JSON, usaremos json_decode para convertir ese JSON a un ARRAY:
PHP:
$A = json_decode(file_get_contents($URL),true);
PHP:
foreach($A['response']['posts'] as $P){
//Aca obtendremos los post y veremos que hacer con cada uno...
}
Ahora que sabemos como obtener los post (solo videos ya que indicamos en la URL de la api obtener solo videos...) necesitamos agregarlos al WP....
Para esto agregamos a nuestro PHP las config de WP (al hacerlo podremos usar las funciones basicas de WP, que no dependan de otros archivos):
PHP:
require('wp-config.php');
Creamos un array con lo basico de un post de WP
PHP:
$TIT = trim(strip_tags($P['caption'])); //Titulo del post
$my_post = array(
'post_title' => $TIT,
'post_content' => '<!--more--><video controls><source src="'.$P['video_url'].'" type="video/mp4">Your browser does not support HTML5 video.</video>', /*Contenido del post*/
'post_status' => 'publish', /* que sea publicado */
'post_type' => 'post', /*tipo de post*/
'post_author' => 1, /*quien lo postea */
'post_category' => array(0), /*categoria 0, la que es por defecto en WP, si usan otra solo coloquen el id */
'tags_input' => implode(",", $P['tags']), /* obtenemos los tags y los colocamos */
);
HTML:
<!--more-->
Si queremos agregar el texto que se encuentra conjuntamente con el video, solo tienen que cambiar:
PHP:
'post_content' => '<!--more--><video controls><source src="'.$P['video_url'].'" type="video/mp4">Your browser does not support HTML5 video.</video>',
PHP:
'post_content' => '<!--more--><p>'.strip_tags($P['content']).'</p><p><video controls><source src="'.$P['video_url'].'" type="video/mp4">Your browser does not support HTML5 video.</video></p>',
Ahora agregaremos ese post a WP
(https://codex.wordpress.org/Function_Reference/wp_insert_post)
PHP:
$post_id = wp_insert_post( $my_post );
Como vemos agregar un post desde código es fácil, pero simplemente agregando el video no sera suficiente, tambien agregaremos una imagen destacada con la imagen del video...
Vamos a necesitar librerias apartes de WP para esto
PHP:
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
Obtenemos la imagen de la captura del video y la agregamos al post, obteniendo de esta manera la url de la imagen dentro de nuestro WP
(https://codex.wordpress.org/Function_Reference/media_sideload_image)
PHP:
$image = media_sideload_image($P['thumbnail_url'], $post_id, $TIT,'src');
Ahora agregamos la imagen como destacada
PHP:
//La imagen es corrupta o no se pudo descargar!
if(!is_wp_error($image)){
$filename = str_replace(get_option('home'),"", $image);
$filename = substr($filename,0,strlen($filename)-4)."-300x250.jpg";
$wp_filetype = wp_check_filetype(basename($filename), null );
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $wp_filetype['type'],
'post_title' => trim(strip_tags($P['caption'])),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename, $post_id );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
add_post_meta($post_id, '_thumbnail_id', $attach_id, true);
}
PHP:
set_post_thumbnail_size( 300, 250, true );
Con wp_insert_attachment agregamos la imagen destacada al post en cuestion, y con add_post_meta le indicamos que es el thumb del post (es todo un lio... pero es cuestion de ir aprendiendo)...
De esa forma agregariamos los post a nuestro WP y le asignamos las imagenes destacadas de cada video... como ven se usa HTML5 para reproducir el video, esto es bueno ya que funciona en los navegadores de los celulares y cualquier otro navegador... Ustedes pueden usar cualquier reproductor, ya que obtienen la url del video en formato MP4.
Al inicio (depende de cada theme... es mejor un theme tipo galeria o tube):

(no pongo vista previa del post... pues es un video XXX)
Bien el code lo guardamos dentro de un archivo PHP, en el mismo lugar donde se encuentra: wp-config.php (este plugin es externo, no se maneja desde el admin de WP... sino que se accede desde
PHP:
http://sitio.com/plugin.cicklow.php
Es bastante basico, pero se le pueden hacer muuuchas mejoras, en una sola tirada pueden agregar mas de 600 videos (dependiendo del blog de donde los estamos sacando...)...
El codigo que explique lo he echo bien basico, el plugin maneja todos los offsets del blog (ya que solo se obtienen 20 videos por leida, entonces se calcula cuantos videos totales hay y se dividen de a 20)... y otras cosas...
No solo funciona para sitios XXX, sino tmb para cualquier blog tumblr con video...
Descarga:
Insertar CODE, HTML o PHP:
http://test.cicklow.me/pepe.boooooot.rar
Los sitios de VINES (recopilacion de vines, no todo es XXX) no se obtendran la url del video... ya que no existe, se postea un embed, en ese caso tendrian que cambiar:
PHP:
'post_content' => '<!--more--><video controls><source src="'.$P['video_url'].'" type="video/mp4">Your browser does not support HTML5 video.</video>',
PHP:
'post_content' => '<!--more--><p><iframe src="'.$P['permalink_url'].'/embed/simple" width="500" height="500"></iframe></p>',
PHP:
'post_content' => '<!--more--><p>'.$P['player']['0']['embed_code'].'</p>',
Saludos y happy boooooot!
Última edición: