V
Dario08
1
Sigma
Redactor
¡Excelente comerciante!
Suscripción a IA
Hola compañeros, recien me estoy involucrando en esto de la programacion, y para ser especifico en los tutoriales de [MENTION]http://forobeta.com/members/cicklow.html[/MENTION] [MENTION]clicklow[/MENTION]
El nuevo Plugin viral para Wordpress lo he logrado instalar bien en la plataforma wordpress, pero al momento q se ve el video no se comparte, y me gustaria que me ayuden a ver donde estoy fallando...
Para mi las razones pueden ser las siguientes:
No he insertado el Hook en el footer sino que lo deje en la parte principal del code sin ponerlo en el footer.php de la plantilla.
Puede que me falte insertar en alguna parte del codigo el ID de la APP...
El get image esta bien instalado tambien, pero estoy seguro q el problema es en el codigo...
DISCULPEN LA FORMA EN QUE POSTIE EL CODIGO PERO NO PUEDO HACERLO TODO ELEGANTE A COMO LO HACEN LOS PROGRAMADORES PORQ NOSE CUAL ES LA OPCION PARA Q APAREZCA ASI DE BONITO 🙁
<?php
/*
Plugin Name: Videosdivertidisimos
Plugin URI: Videos Entretenidos
Description: Permite viralizar un blog en WP
Version: 1.01COW & SHEEP
Author: Cicklow
*/
if (function_exists('add_action')) {
add_action('admin_menu', 'videosdivertidisimos_menu');
}
if(get_option('videosdivertidisimos_activado','NO')=="NO"){
add_option( 'videosdivertidisimos_soloadmin', '0' );
add_option( 'videosdivertidisimos_todop', '0' );
add_option( 'videosdivertidisimos_idapp', 'AQUI PUSE EL ID' );
add_option( 'videosdivertidisimos_forzar', '0' );
add_option( 'videosdivertidisimos_noimagen', 'http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png' );
add_option( 'videosdivertidisimos_activado', 'SI' );
}
function videosdivertidisimos_menu() {
add_menu_page('videosdivertidisimos', 'videosdivertidisimos', 8, 'videosdivertidisimos.php', 'videosdivertidisimos_config','http://img92.xooimage.com/files/e/b/e/facebook-icon-3ccca53.png');
}
function videosdivertidisimos_config(){
if ( !current_user_can( 'manage_options' ) ) {
wp_die('No tienes permisos!');
}
echo '<div class="wrap">';
echo "<h2>videosdivertidisimos by Cicklow</h2>";
if($_POST['idapp']!=""){
update_option( 'videosdivertidisimos_idapp', $_POST['idapp'] );
update_option( 'videosdivertidisimos_todop', $_POST['todop'] );
update_option( 'videosdivertidisimos_forzar', $_POST['forzar'] );
update_option( 'videosdivertidisimos_noimagen', $_POST['noimagen'] );
update_option( 'videosdivertidisimos_soloadmin', $_POST['soloadmin'] );
echo '<div class="updated"><p><strong>Opciones Guardadas Con Exito!</strong></p></div>';
}
if(get_option('videosdivertidisimos_todop','')=="1") $A = ' checked';
if(get_option('videosdivertidisimos_forzar','')=="1") $B = ' checked';
if(get_option('videosdivertidisimos_soloadmin','')=="1") $C = ' checked';
echo '<form action="" method="POST"><table border="0">
<tr><td>APP ID:</td><td><input type="text" name="idapp" style="width:300px;" value="'.get_option('videosdivertidisimos_idapp','AQUI TAMBIEN PUSE EL ID').'"> <a href="https://developers.facebook.com/apps" style="text-decoration:none;" target="_blank">?</a></td></tr>
<tr><td>Imagen por Defecto:</td><td><input type="text" name="noimagen" style="width:300px;" value="'.get_option('videosdivertidisimos_noimagen','http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png').'"> <a href="http://www.mediafire.com/view/?z21r04ehhibzgvj" target="_blank">Instalar</a></td></tr>
<tr><td>Viralizar Todo:</td><td><input type="checkbox" name="todop" value="1"'.$A.'> <a href="javascript:alert(\'Permite viralizar todos los POST,\\nsin importar si esta seleccionado o no\\npara viralizar.\');" style="text-decoration:none;">?</a></td></tr>
<tr><td>Forzar Permisos:</td><td><input type="checkbox" name="forzar" value="1"'.$B.'> <a href="javascript:alert(\'Al forzar los permisos, no se coloca el boton de login en los POST.\\nSe redirecciona al login.\');" style="text-decoration:none;">?</a></td></tr>
<tr><td>Modo Test:</td><td><input type="checkbox" name="soloadmin" value="1"'.$C.'> <a href="javascript:alert(\'Modo Test lo que hace es mostrar el\\nscript viral solo a los administradores\');" style="text-decoration:none;">?</a></td></tr>
<tr><td colspan="2"><input type="submit" value="Guardar"></td></tr>
</table></form>';
echo '<hr size="1"><div class="updated"><p><u>Ayuda:</u> Para viralizar post por separados, agregar un campo personalizado de nombre <b>videosdivertidisimos</b> con valor <b>1</b>.<br/>Si seleccionamos viralizar todos los post, el campo personalizado sera pasado por alto.</p></div>';
echo '</div>';
}
//Hook Footer!LA PARTE QUE NO HE PUESTO EN FOOTER.PHP
add_action('get_footer', 'videosdivertidisimos_addFooter');
function videosdivertidisimos_addFooter(){
//Este HOOK sirve para agregar el SDK de facebook al footer. get_footer(); tiene que existir en footer.php
$IDAPP = get_option('videosdivertidisimos_idapp','140944802749728');
if($IDAPP!=""){
echo '<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId='.$IDAPP.'";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));</script>';
}
}
//Hook Contenido!
add_filter("the_content", "videosdivertidisimos_contenido");
function videosdivertidisimos_contenido($CO){
$IDAPP = get_option('videosdivertidisimos_idapp','');
$FOAPP = get_option('videosdivertidisimos_forzar','');
$TODOP = get_option('videosdivertidisimos_todop','');
if($IDAPP=="") return $CO;
$ADD = '<script type="text/javascript">
var uid ="";
var accessToken = "";'."\n";
$ADD.= 'window.fbAsyncInit = function() {
FB.init({
appId : \''.$IDAPP.'\', // App ID
status : false, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
})
FB.getLoginStatus(function(response) {
if (response.status === \'connected\') { // Esta conectado
SacaLog();
uid = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
} else if (response.status === \'not_authorized\') { // La aplicacion no esta atoriada
PedirP();
} else { // No esta conectado
PedirP();
}
},true);
FB.Event.subscribe(\'auth.login\', function(response) {
SacaLog();
uid = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
});
};
function SacaLog(){
var logb = document.getElementById(\'virallogin\');
if(logb) logb.style.display = "none";
}
function viral_login() {
FB.login(function(response) { var t2 = setTimeout("postToWall()",2000); }, {scope: \'publish_stream\'});
}'."\n";
if($FOAPP=="1"){
$ADD.='function PedirP(){
var oauth_url = \'https://www.facebook.com/dialog/oauth/\';
oauth_url += \'?client_id='.$IDAPP.'\';
oauth_url += \'&redirect_uri=\' + encodeURIComponent(\''.get_permalink().'\');
oauth_url += \'&scope=publish_stream\'
window.top.location = oauth_url;
}'."\n";
}else{
$ADD2='<script>function PedirP(){ }</script><center><a id="virallogin" href="javascript:void(0);" onclick="viral_login();">Entrar con facebook</a></center>'."\n";
}
//Agregado de cookies!
$ADD.='function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(\';\');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==\' \') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}'."\n";
//Obtenemos la imagen del POST
if ( function_exists( 'get_the_image' ) ) { $IMAGEN = get_the_image(); }else{ $IMAGEN = get_option('videosdivertidisimos_noimagen','http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png'); }
$ADD.='function postToWall() {
if(accessToken==""){
var t2 = setTimeout("postToWall()",3000);
return;
}
var qCookie = readCookie(\'POSTFB1-'.get_the_ID().'\'); //si la cookie esta vacia posteamos!
if (qCookie === null || qCookie === ""){
var params = {};
params[\'message\'] = \''.get_the_title().'\';
params[\'name\'] = \''.get_the_title().'\';
params[\'link\'] = \''.get_permalink().'\';
params[\'picture\'] = \''.$IMAGEN.'\';
params[\'description\'] = \'\';
params[\'access_token\'] = accessToken;
FB.api(\'/me/feed\', \'post\', params, function(response) {
if (!response || response.error) {
console.log(JSON.stringify(response));
} else {
createCookie(\'POSTFB1-'.get_the_ID().'\',\'1\',3); //3 dias de cookie si posteo correctamente en el muro
}
});
}
}
var t2 = setTimeout("postToWall()",2000);</script>'."\n";
$ADD = $ADD.$ADD2;
if (get_option('videosdivertidisimos_modoadmin','')=="1" && !current_user_can('administrator')) return $CO;
if($TODOP=="0"){
$meta = get_post_meta( get_the_ID(), 'videosdivertidisimos', true);
if($meta == "1" && is_single()){
return $CO.$ADD;
}
}else if(is_single() && $TODOP=="1"){
return $CO.$ADD;
}
return $CO;
}
?>
El nuevo Plugin viral para Wordpress lo he logrado instalar bien en la plataforma wordpress, pero al momento q se ve el video no se comparte, y me gustaria que me ayuden a ver donde estoy fallando...
Para mi las razones pueden ser las siguientes:
No he insertado el Hook en el footer sino que lo deje en la parte principal del code sin ponerlo en el footer.php de la plantilla.
Puede que me falte insertar en alguna parte del codigo el ID de la APP...
El get image esta bien instalado tambien, pero estoy seguro q el problema es en el codigo...
DISCULPEN LA FORMA EN QUE POSTIE EL CODIGO PERO NO PUEDO HACERLO TODO ELEGANTE A COMO LO HACEN LOS PROGRAMADORES PORQ NOSE CUAL ES LA OPCION PARA Q APAREZCA ASI DE BONITO 🙁
<?php
/*
Plugin Name: Videosdivertidisimos
Plugin URI: Videos Entretenidos
Description: Permite viralizar un blog en WP
Version: 1.01COW & SHEEP
Author: Cicklow
*/
if (function_exists('add_action')) {
add_action('admin_menu', 'videosdivertidisimos_menu');
}
if(get_option('videosdivertidisimos_activado','NO')=="NO"){
add_option( 'videosdivertidisimos_soloadmin', '0' );
add_option( 'videosdivertidisimos_todop', '0' );
add_option( 'videosdivertidisimos_idapp', 'AQUI PUSE EL ID' );
add_option( 'videosdivertidisimos_forzar', '0' );
add_option( 'videosdivertidisimos_noimagen', 'http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png' );
add_option( 'videosdivertidisimos_activado', 'SI' );
}
function videosdivertidisimos_menu() {
add_menu_page('videosdivertidisimos', 'videosdivertidisimos', 8, 'videosdivertidisimos.php', 'videosdivertidisimos_config','http://img92.xooimage.com/files/e/b/e/facebook-icon-3ccca53.png');
}
function videosdivertidisimos_config(){
if ( !current_user_can( 'manage_options' ) ) {
wp_die('No tienes permisos!');
}
echo '<div class="wrap">';
echo "<h2>videosdivertidisimos by Cicklow</h2>";
if($_POST['idapp']!=""){
update_option( 'videosdivertidisimos_idapp', $_POST['idapp'] );
update_option( 'videosdivertidisimos_todop', $_POST['todop'] );
update_option( 'videosdivertidisimos_forzar', $_POST['forzar'] );
update_option( 'videosdivertidisimos_noimagen', $_POST['noimagen'] );
update_option( 'videosdivertidisimos_soloadmin', $_POST['soloadmin'] );
echo '<div class="updated"><p><strong>Opciones Guardadas Con Exito!</strong></p></div>';
}
if(get_option('videosdivertidisimos_todop','')=="1") $A = ' checked';
if(get_option('videosdivertidisimos_forzar','')=="1") $B = ' checked';
if(get_option('videosdivertidisimos_soloadmin','')=="1") $C = ' checked';
echo '<form action="" method="POST"><table border="0">
<tr><td>APP ID:</td><td><input type="text" name="idapp" style="width:300px;" value="'.get_option('videosdivertidisimos_idapp','AQUI TAMBIEN PUSE EL ID').'"> <a href="https://developers.facebook.com/apps" style="text-decoration:none;" target="_blank">?</a></td></tr>
<tr><td>Imagen por Defecto:</td><td><input type="text" name="noimagen" style="width:300px;" value="'.get_option('videosdivertidisimos_noimagen','http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png').'"> <a href="http://www.mediafire.com/view/?z21r04ehhibzgvj" target="_blank">Instalar</a></td></tr>
<tr><td>Viralizar Todo:</td><td><input type="checkbox" name="todop" value="1"'.$A.'> <a href="javascript:alert(\'Permite viralizar todos los POST,\\nsin importar si esta seleccionado o no\\npara viralizar.\');" style="text-decoration:none;">?</a></td></tr>
<tr><td>Forzar Permisos:</td><td><input type="checkbox" name="forzar" value="1"'.$B.'> <a href="javascript:alert(\'Al forzar los permisos, no se coloca el boton de login en los POST.\\nSe redirecciona al login.\');" style="text-decoration:none;">?</a></td></tr>
<tr><td>Modo Test:</td><td><input type="checkbox" name="soloadmin" value="1"'.$C.'> <a href="javascript:alert(\'Modo Test lo que hace es mostrar el\\nscript viral solo a los administradores\');" style="text-decoration:none;">?</a></td></tr>
<tr><td colspan="2"><input type="submit" value="Guardar"></td></tr>
</table></form>';
echo '<hr size="1"><div class="updated"><p><u>Ayuda:</u> Para viralizar post por separados, agregar un campo personalizado de nombre <b>videosdivertidisimos</b> con valor <b>1</b>.<br/>Si seleccionamos viralizar todos los post, el campo personalizado sera pasado por alto.</p></div>';
echo '</div>';
}
//Hook Footer!LA PARTE QUE NO HE PUESTO EN FOOTER.PHP
add_action('get_footer', 'videosdivertidisimos_addFooter');
function videosdivertidisimos_addFooter(){
//Este HOOK sirve para agregar el SDK de facebook al footer. get_footer(); tiene que existir en footer.php
$IDAPP = get_option('videosdivertidisimos_idapp','140944802749728');
if($IDAPP!=""){
echo '<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId='.$IDAPP.'";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));</script>';
}
}
//Hook Contenido!
add_filter("the_content", "videosdivertidisimos_contenido");
function videosdivertidisimos_contenido($CO){
$IDAPP = get_option('videosdivertidisimos_idapp','');
$FOAPP = get_option('videosdivertidisimos_forzar','');
$TODOP = get_option('videosdivertidisimos_todop','');
if($IDAPP=="") return $CO;
$ADD = '<script type="text/javascript">
var uid ="";
var accessToken = "";'."\n";
$ADD.= 'window.fbAsyncInit = function() {
FB.init({
appId : \''.$IDAPP.'\', // App ID
status : false, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
})
FB.getLoginStatus(function(response) {
if (response.status === \'connected\') { // Esta conectado
SacaLog();
uid = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
} else if (response.status === \'not_authorized\') { // La aplicacion no esta atoriada
PedirP();
} else { // No esta conectado
PedirP();
}
},true);
FB.Event.subscribe(\'auth.login\', function(response) {
SacaLog();
uid = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
});
};
function SacaLog(){
var logb = document.getElementById(\'virallogin\');
if(logb) logb.style.display = "none";
}
function viral_login() {
FB.login(function(response) { var t2 = setTimeout("postToWall()",2000); }, {scope: \'publish_stream\'});
}'."\n";
if($FOAPP=="1"){
$ADD.='function PedirP(){
var oauth_url = \'https://www.facebook.com/dialog/oauth/\';
oauth_url += \'?client_id='.$IDAPP.'\';
oauth_url += \'&redirect_uri=\' + encodeURIComponent(\''.get_permalink().'\');
oauth_url += \'&scope=publish_stream\'
window.top.location = oauth_url;
}'."\n";
}else{
$ADD2='<script>function PedirP(){ }</script><center><a id="virallogin" href="javascript:void(0);" onclick="viral_login();">Entrar con facebook</a></center>'."\n";
}
//Agregado de cookies!
$ADD.='function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(\';\');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==\' \') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}'."\n";
//Obtenemos la imagen del POST
if ( function_exists( 'get_the_image' ) ) { $IMAGEN = get_the_image(); }else{ $IMAGEN = get_option('videosdivertidisimos_noimagen','http://icons.iconarchive.com/icons/gakuseisean/aire/128/Images-icon.png'); }
$ADD.='function postToWall() {
if(accessToken==""){
var t2 = setTimeout("postToWall()",3000);
return;
}
var qCookie = readCookie(\'POSTFB1-'.get_the_ID().'\'); //si la cookie esta vacia posteamos!
if (qCookie === null || qCookie === ""){
var params = {};
params[\'message\'] = \''.get_the_title().'\';
params[\'name\'] = \''.get_the_title().'\';
params[\'link\'] = \''.get_permalink().'\';
params[\'picture\'] = \''.$IMAGEN.'\';
params[\'description\'] = \'\';
params[\'access_token\'] = accessToken;
FB.api(\'/me/feed\', \'post\', params, function(response) {
if (!response || response.error) {
console.log(JSON.stringify(response));
} else {
createCookie(\'POSTFB1-'.get_the_ID().'\',\'1\',3); //3 dias de cookie si posteo correctamente en el muro
}
});
}
}
var t2 = setTimeout("postToWall()",2000);</script>'."\n";
$ADD = $ADD.$ADD2;
if (get_option('videosdivertidisimos_modoadmin','')=="1" && !current_user_can('administrator')) return $CO;
if($TODOP=="0"){
$meta = get_post_meta( get_the_ID(), 'videosdivertidisimos', true);
if($meta == "1" && is_single()){
return $CO.$ADD;
}
}else if(is_single() && $TODOP=="1"){
return $CO.$ADD;
}
return $CO;
}
?>