El post que buscas se encuentra eliminado, pero este también te puede interesar

Como crear un plugin en wordpress

Wordpress ( el cms mas usado en todo  el mundo) es un gestor de contenido que nos permite tener nuestro sitio web funcionando de manera sencilla y sin conocimiento alguno de programación o diseño

esta desarrollado en php y como base de datos usa mysql,

wordpress tiene una api que le permite a los desarrolladores crear sus propios plugin para agregar funcionalidades que no viene por defecto en el core de wordpress,

en este tutorial vamos a ver como crear un sencillo plugin que nos va a permitir agregar un video a nuestros post,

en nuestra instalación de wordpress tenemos una carpeta que se llama wp-content, dentro de ella se encuentra otra llamada plugin que es la que contiene todos los plugin que instalemos,

Como crear un plugin en wordpress

por defecto nos viene un plugin llamado askimet, que se encarga de evitar el spam en nuestros comentarios

dentro de plugin vamos a crear una carpeta con el nombre de embedyoutube,

dentro de esta creamos un archivo llamado igual que la carpeta pero con la extension.php

( pueden poner el nombre que quieran a este archivo)

lo primero que vamos a hacer para que wordpress reconozca al plugin va a ser agregar e

stas lineas

[color=#000000]

/*

Plugin Name: embedyoutube

Plugin URI:

Description: descripcion de embedyoutube

Version: 1.0

Author: mi nombre

Author URI:

License: GPLv2

*/

[/color]


esto es un comentario en php que contiene los datos de nuestro plugin, wordpress se encarga de parsear los datos y los muestar en el panel de administracion de wordpress

PHP

hacemos click en activar y ya tenemos nuestro plugin en marcha

agregamos esto despues de los datos del plugin

[color=#000000]

add_shortCODE("youtubevid", "youtubeEmbedShortCODE");

[/color]


los que hace este codigo es llamar a la funcion add_shortCODE de wordpress, agregar el shortCODE de nombre youtubevid que vamos a usar en nuestros post para agregar vídeos de youtube,

el segundo parametro es el nombre de la funcion que contiene las instruciones

como segundo parametro podriamos pasar una function anonima de esta manera

[color=#000000]

add_shortCODE("youtubevid", function(){

});

[/color]


si bien este les sera muy familiar a los usuario de javascript, tal vez pueda ocurrir que el servidor en el que estemos no tenga la versión php ( 5.3.0) que soporta esta sintaxis y nos de un error,

por esta razon vamos a usar como segundo parametro el nombre de una funcion

[color=#000000]

function youtubeEmbedShortCODE($atts){

$output = '
<iframe src="http://i4.ytimg.com/vi/_7rkzwbLYS4/mqdefault.jpg" frameborder="0" width="320" height="240"></iframe>
';

return $output;

}

[/color]


para probar que nuestro plugin esta funcionando pasamos un iframe que contiene la direccion url de un video en youtube,

y después retornamos la cadena, que nos permite seguir agregando otro contenido en nuestro post

para llamar a nuestro plugin desde el administador de wordpress agregamos esta linea en un post ,

[color=#000000]

[youtubevid]

[/color]


que es el primer parametro que le pasamos a la function add_shortCODE

asi se ve nuestro post

plugin

el proximo pasa en permitir que se puedan pasar parametro al plugin,

agregamos esto al principio de la function

[color=#000000]

extract(shortCODE_atts(array(

'url' => '',

),$atts));

[/color]


usamos la funcion extract que toma como primer parametro un array asociativo y como segundo el parámetro que le pasamos a la funcion youtubeEmbedShortCODE

lo que nos permite esto es usar el valor que se le pase a url directamente

acualizamos la variable outuput pasando la variable que nos devuelve extract

[color=#000000]

$output = '</pre>
<iframe src="http://www.youtube.com/embed/'.$url.'" frameborder="0" width="480" height="360"></iframe>
<pre>';

[/color]


lo que necesitamos es el id del video en youtube,

por ejemplo si tenemos estar url
<pre>www.youtube.com/watch?v=UMZQg-LPSww&amp;feature=g-user-u</pre>
lo que tenemos que copiar es lo que esta entre = y &amp; ( UMZQg-LPSww )

[youtubevid url="VcAPlb-m2hM"]

si bien el plugin funciona , de esta manera es un poco engorroso tener que copiar solo esta parte de la url , lo próximo que vamos a hacer es mejorar que el plugin pueda aceptar la url completa de youtube ,

primero tenemos que encotrar en que lugar empezar a cortar la candena que necesitamos

tomemos como ejemplo esta url

<strong>http://www.youtube.com/watch?v=UMZQg-LPSww&amp;feature=g-user-u</strong>

contamos los caracters hasta el signo = y lo guardamos en una variable

para saber en donde termina nuestar cadena usamos la function strpos que nos devuelve en que posicion encuentra el caracter que se le pasa como segundo parametro

[color=#000000]

$start = 31;

$end = strpos($url, "&");

$id = substr($url, $start,$end - $start);

[/color]


substr devuelve una parte de una cadena y toma tres parámetro el primero es la url que pasamos como paramento, el segundo es la posición en donde corta la cadena y el tercero es la cantidad de caracteres que retorna

[youtubevid url="http://www.youtube.com/watch?v=VcAPlb-m2hM&amp;feature=g-u-u"]

lo probamos y vemos que nos devuelve el mismo resultado que antes pero sin la necesidad de buscar manualmente el id del video

ahora tambien se puede dar la posibilidad de que &amp; no se encuentre dentro de la url de youtube, esto depende de si estamos logueados o si hacemos click en algun video que nos aparece como recomendado

para solucionarlo hacemos esto

[color=#000000]

$end = strpos($url, "&");

if($end){

$id = substr($url, $start,$end - $start);

}else{

$id = substr($url, $start);

}

[/color]


simplemente verificamos que si $end da true, significa que se encontró el carácter &amp; en la url y le pasamos los tres parámetro a substr como antes, si no eliminamos el tercer parámetro en el caso que la url sea algo parecido a esto http://www.youtube.com/watch?v=JZDYq6HufNs

plugin final

[color=#000000]

/*

Plugin Name: embedyoutube

Plugin URI:

Description: descripcion de embedyoutube

Version: 1.0

Author: mi nombre

Author URI:

License: GPLv2

*/

add_shortcode("youtubevid", "youtubeEmbedShortCode");

function youtubeEmbedShortCode($atts){

extract(shortcode_atts(array(

'url' => ''

),$atts));

$start = 31;

$end = strpos($url, "&");

if($end){

$id = substr($url, $start,$end - $start);

}else{

$id = substr($url, $start);

}

$output = '</pre>
<iframe src="http://www.youtube.com/embed/'.$id.'" frameborder="0" width="480" height="360"></iframe>
<pre>';

return $output;

}

?>

[/color]

0 comentarios - Como crear un plugin en wordpress