Tutorial: Autogenerar un enlace acortado al crear un nuevo post [WP+Adf.ly]

  • Autor Autor Lopezito
  • Fecha de inicio Fecha de inicio
Lopezito

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
nIHUCHs.png

Muy buenas a todos.
Hace poco tiempo me he vuelto a conectar y vengo a exponerles un tutorial relacionado a WordPress, o sea, funciona en WP y luego pueden adaptarlo a cualquier otra plataforma que le permita manipulación de código php(así que no jodan con blogger jaja).

¡Les servirá para poder personalizar botones para compartir sus posts, y que la gente comparta con el enlace generado, y así ganar dinero extra!

separador.png

Requerimientos:

- Solo tener noción de WordPress, ya que lo haré bien explicado para que lo haga alguien que no sepa nada de PHP.

separador.png

Tutorial:

1- Ir al archivo functions.php de nuestro tema y en la última linea(o antes del último "?>") agregamos:

PHP:
/*Crear un enlace acortado con adf.ly cuando se crea el post*/

function adflyurl($url,$uid,$key,$dominio='adf.ly',$tipo='int'){
$api = 'http://api.adf.ly/api.php?';
$query = array('key' => $key,'uid' => $uid,'advert_type' => $tipo,'domain' => $dominio,'url' => $url);
$api .= http_build_query($query);
if($data=file_get_contents($api)){return $data;}
}
function enlaceacortadoadfly($post_id, $post){
$meta = get_post_meta($post_id,'adflyurl',TRUE);
if(isset($post->post_status) && 'auto-draft' == $post->post_status){return;}
if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){return;}
if(!wp_is_post_revision($post_id)){
if($meta != '') {
return;
}else{
update_post_meta($post_id,'adflyurl',adflyurl(get_permalink($post_id),'user','key'));
}
}
}
add_action('save_post','enlaceacortadoadfly');

2- Editamos la siguiente parte del código:

PHP:
adflyurl(get_permalink($post_id),'user','key')

2.a- En "user" debemos colocar nuestro ID de la cuenta de adf.ly
2.b- En "key" ponemos nuestra API Key que podemos encontrar en nuestra cuenta de adf.ly


Imagen donde se encuentran los datos del punto 2.a y 2.b
e58cSFZ.png

3- Guardamos y creamos un nuevo post de prueba.

¡Enhorabuena! así de sencillo.

separador.png

Bonus: Puedes agregar la url donde quieras llamando a la meta "adflyurl" de la siguiente manera:

PHP:
<?php
if(get_post_meta(get_the_ID(),'adflyurl',true)){
echo get_post_meta(get_the_ID(),'adflyurl',true);
}
?>
Bonus 2: Si queres agregar algo por si no existe el enlace acortado, puedes hacerlo de la siguiente manera:

PHP:
<?php
if(get_post_meta(get_the_ID(),'adflyurl',true)){
echo get_post_meta(get_the_ID(),'adflyurl',true);
}else{
//Ups! parece que no se ha encontrado el enlace acortado
echo get_permalink(get_the_ID());
}
?>

Bonus 3: Activar los campos personalizados o meta posts, en tu editor.

b6HFBDw.png

Bonus 4: Enlace de compartir en Facebook y Twitter, con el enlace acortado.

Si te gusto el tuto, ya sabes qué hacer, compartir, like, tweet, y demás.

Un saludo!

separador.png

Nota: Apenas entras al editor de post y se genera el enlace, y si quieres cambiarlo solo debes tener activo la opción de "campos personalizados" en la página del editor para cambiar el valor del meta "adflyurl".
Nota 2: No se puede actualizar automaticamente todos los posts a la vez con php, he intentado y creo que Adf.ly no lo permite, por lo tanto, si tenes paciencia, ir actualizando los posts de a uno jaja lo siento, pero hasta acá puedo ayudarlos xd


Fuentes consultadas:

Plugin API/Action Reference/save post « WordPress Codex
Function Reference/get post meta « WordPress Codex
Function Reference/update post meta « WordPress Codex
http://codex.wordpress.org/Function_Reference/get_posts
http://codex.wordpress.org/Function_Reference/$post
https://adf.ly/publisher/tools#tools-api
http://us2.php.net/manual/es/function.http-build-query.php
http://wordpress.stackexchange.com/questions/10140/automatic-refresh-all-posts-at-once/10143#10143
 
Última edición:
Adjunto en este post, una captura de que funciona éste tuto.

nwO3gLx.png
 
Me servira 🙂
 
muy buen aporte gracias
 
alguien sabe como agregar al final de nuestro post la URL (en un campo tipo formulario) acortada de nuestro post para que los usuarios lo compartan.
 
alguien sabe como agregar al final de nuestro post la URL (en un campo tipo formulario) acortada de nuestro post para que los usuarios lo compartan.

Bonus 1 y 2.

PHP:
<?php
if(get_post_meta(get_the_ID(),'adflyurl',true)){
$linkshare = get_post_meta(get_the_ID(),'adflyurl',true);
}else{
//Ups! parece que no se ha encontrado el enlace acortado
$linkshare = get_permalink(get_the_ID());
}
?>


https://www.facebook.com/sharer/sharer.php?u=<?php echo $linkshare; ?>
http://twitter.com/intent/tweet?text=<?php echo $linkshare; ?>
 
gracias por su aporte:encouragement:
 
Ahí lo probé y va muy bien!!
 
Gracias por el aporte!🙂
 
gracias compañero, vamos a probar. tienes un blog donde lo uses?
Bonus 1 y 2.



PHP:
<?php

if(get_post_meta(get_the_ID(),'adflyurl',true)){
$linkshare = get_post_meta(get_the_ID(),'adflyurl',true);
}else{
//Ups! parece que no se ha encontrado el enlace acortado
$linkshare = get_permalink(get_the_ID());
}
?>


https://www.facebook.com/sharer/sharer.php?u=<?php echo $linkshare; ?>
http://twitter.com/intent/tweet?text=<?php echo $linkshare; ?>
 
Atrás
Arriba