Ver Mensaje Individual
  #20 (permalink)  
Antiguo 21/02/2012, 07:43
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: Uso los comentarios de facebook en mi wordpress, como se que alguien ha co

Realmente pensé que había sido claro.

Vamos a empezar de nuevo, paso a paso. Por favor, leé todo y seguí bien los pasos. Si tenés dudas concretas, preguntá lo que quieras.

1.- Descargá estos archivos:http://nahueljose.com.ar/ejemplos/co...s-facebook.zip Ahí tenés 3 archivos. comentarios.php, comentario-leido.php y un ícono de facebook en una carpeta images.
Necesitás editar los 2 archivos PHP y cambiar la ruta que figura arriba por la tuya (la ruta del archivo wp-load.php). Este archivo esta en el directorio de instalación de wordpress y la ruta debe ser absoluta.

2.- Una vez que hayas editado esos archivos, colocalos en la carpeta de tu tema. El ícono debe estar en una carpeta images.

3.- En footer.php colocá esto (Reemplazá lo que ya tenés):

Código PHP:
Ver original
  1. <div id="fb-root"></div>
  2. <script>(function(d, s, id) {
  3. var js, fjs = d.getElementsByTagName(s)[0];
  4. if (d.getElementById(id)) {return;}
  5. js = d.createElement(s); js.id = id;
  6. js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId=134309309932399";
  7. fjs.parentNode.insertBefore(js, fjs);
  8. }(document, 'script', 'facebook-jssdk'));</script>
  9.  
  10. <script>
  11. //aca creamos un script que se suscribe al evento comment.create
  12. window.fbAsyncInit = function() {
  13.     FB.Event.subscribe('comment.create', function() { //suscribimos
  14.     //lo que yo ponga aca se ejecutará al hacerse un comentario
  15.         // Url de la pagina
  16.         var pageURL =  document.location.href;
  17.         // marcar con comentarios nuevos
  18.         $.post(<?php bloginfo('template_directory'); ?>/comentarios.php,{ page_url : pageURL});
  19.     });  
  20. }
  21. </script>

4.- Abrí tu archivo functions.php. Si no existe, crealo. Colocá esto al final:

Código PHP:
Ver original
  1. // *********************************************
  2. // Agregar la pagina de comentarios en el panel
  3. // *********************************************
  4. add_action('admin_menu', 'comentarios_op');
  5.  
  6. function comentarios_op() {
  7.     add_menu_page( 'Comentarios', 'Commentarios', 'read', 'comentarios', 'comentarios_handler',get_bloginfo('template_directory') . '/images/facebook-icon.png');
  8. }
  9.  
  10.  
  11. function comentarios_handler() { ?>
  12.     <div id="fb-root"></div>
  13.     <script>window.fbAsyncInit = function() {
  14.         FB.init({appId: 'TU-AP-ID', status: true, cookie: true, xfbml: true});
  15.     };
  16.     (function(d, s, id) {
  17.       var js, fjs = d.getElementsByTagName(s)[0];
  18.       if (d.getElementById(id)) return;
  19.       js = d.createElement(s); js.id = id;
  20.       js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1&appId=134309309932399";
  21.       fjs.parentNode.insertBefore(js, fjs);  
  22.     }(document, 'script', 'facebook-jssdk'));</script>
  23.     <script>
  24.     jQuery(function(){
  25.         jQuery('a.mark_as_read').click(function(e){
  26.             var anchor = jQuery(this);
  27.             e.preventDefault();
  28.             var page_url = jQuery(this).attr('data-posturl');
  29.             jQuery.post("<?php bloginfo('template_directory'); ?>/comentario-leido.php", { page_url: page_url } , function(data){
  30.                 if(data=='exito'){
  31.                     anchor.parent().parent().fadeOut('fast',function(){
  32.                         jQuery(this).remove();
  33.                         if(!jQuery('').length){
  34.                             jQuery('#wpbody-content').append('<h2>No hay comentarios nuevos.</h2>');
  35.                         }
  36.                     });
  37.                 }else{
  38.                     alert('Hubo un error marcando los comentarios :( Intenta de nuevo re-cargando la pagina');
  39.                 }
  40.             });
  41.            
  42.         });
  43.     });
  44.     </script>
  45.    
  46.     <?php
  47.     global $post;
  48.     $tmp_post = $post;
  49.     $args = array( 'numberposts' => -1 , 'meta_key' => 'comentarios_nuevos', 'meta_value' => 'true');
  50.     $myposts = get_posts( $args );
  51.     $hay_comentarios = false;
  52.     foreach( $myposts as $post ) : setup_postdata($post); $hay_comentarios=true; ?>
  53.     <div style="padding:20px 0; border-bottom:2px dashed #CCC;">
  54.         <h2><a href="<? the_permalink(); ?>"><?php the_title(); ?></a> <iframe src="http://www.facebook.com/plugins/comments.php?href=<?php the_permalink(); ?>&amp;permalink=1" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:130px; height:16px;" allowTransparency="true"></iframe> <a class="mark_as_read" style="font-size:12px; text-decoration:underline; color:red;" data-posturl='<?php the_permalink();?>' href="#">Marcar como leidos</a></h2>
  55.         <p><a href="<? the_permalink(); ?>"><?php echo get_the_post_thumbnail($post->ID, 'thumbnail',array('title'=>get_the_title())); ?></a></p>
  56.         <div class="fb-comments" data-href="<? the_permalink(); ?>" data-num-posts="5" data-width="600"></div>
  57.     </div>
  58.     <?php endforeach; ?>
  59.     <?php if(!$hay_comentarios){ ?>
  60.         <h2>No hay comentarios nuevos.</h2>
  61.     <?php } ?>
  62.     <?php $post = $tmp_post; ?>
  63.    
  64.    
  65. <?php }

5.- Listo.

Nota: Es lo mismo que ya te pasé antes, pero modificado para simplificar y para que funcione como querés. No lo he probado pero debería funcionar. Si encontrás algún error avisame.

Realmente no veo forma de ser más claro y, no es por malo ni nada, pero me parece que ni siquiera estás intentando. Leé, prestá atención y analizá bien el código si tenés dudas.
__________________
nahueljose.com.ar