Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   WordPress (http://www.forosdelweb.com/f118/)
-   -   Error al dejar comentario en WordPress (http://www.forosdelweb.com/f118/error-dejar-comentario-wordpress-550813/)

hernan11 23/01/2008 11:54

Error al dejar comentario en WordPress
 
Acá está la entrada
http://www.hpaz.com.ar/blog/disfruta-del-poder-y-la-belleza-de-tu-juventud/

El problema está en que cuando quiero poner un comentario, me sale el siguiente error

Fatal error: Call to a member function on a non-object in /www/mdgcontenidos/htdocs/hpaz/blog/wp-content/themes/elite/Elite/comments-ajax.php on line 21

Este es el codigo del comments-ajax.php

Código :

Código:

<?php
require_once('http://www.hpaz.com.ar/blog/wp-config.php');

global $comment, $comments, $post, $wpdb, $user_ID, $user_identity, $user_email, $user_url;


function fail($s) {
  header('HTTP/1.0 500 Internal Server Error');
  echo $s;
  exit;
}

 

foreach($_POST as $k=>$v) {
  $_POST[$k] = urldecode($v);
}

$comment_post_ID = (int) $_POST['comment_post_ID'];

$post_status = $wpdb->get_var("SELECT comment_status FROM $wpdb->posts WHERE ID = '$comment_post_ID'");

if ( empty($post_status) ) {
  do_action('comment_id_not_found', $comment_post_ID);
  fail('The post you are trying to comment on does not curently exist in the database.');
} elseif ( 'closed' ==  $post_status ) {
  do_action('comment_closed', $comment_post_ID);
  fail(__('Sorry, comments are closed for this item.'));
}

$comment_author      = trim($_POST['author']);
$comment_author_email = trim($_POST['email']);
$comment_author_url  = trim($_POST['url']);
$comment_content      = trim($_POST['comment']);

// If the user is logged in
get_currentuserinfo();
if ( $user_ID ) :
  $comment_author      = addslashes($user_identity);
  $comment_author_email = addslashes($user_email);
  $comment_author_url  = addslashes($user_url);
else :
  if ( get_option('comment_registration') )
      fail(__('Sorry, you must be logged in to post a comment.'));
endif;

$comment_type = '';

if ( get_settings('require_name_email') && !$user_ID ) {
  if ( 6 > strlen($comment_author_email) || '' == $comment_author )
      fail(__('Error: please fill the required fields (name, email).'));
  elseif ( !is_email($comment_author_email))
      fail(__('Error: please enter a valid email address.'));
}

if ( '' == $comment_content )
  fail(__('Error: please type a comment.'));

$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');

$new_comment_ID = wp_new_comment($commentdata);

if ( !$user_ID ) :
        setcookie('comment_author_' . COOKIEHASH, stripslashes($comment_author), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
        setcookie('comment_author_email_' . COOKIEHASH, stripslashes($comment_author_email), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
        setcookie('comment_author_url_' . COOKIEHASH, stripslashes($comment_author_url), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
endif;

$comment = $wpdb->get_row("SELECT * FROM {$wpdb->comments} WHERE comment_ID = " . $new_comment_ID);

$post->comment_status = $wpdb->get_var("SELECT comment_status FROM {$wpdb->posts} WHERE ID = {$comment_post_ID}");

ob_start();
$comments = array($comment);
include(TEMPLATEPATH . '/comments.php');
$commentout = ob_get_clean();
preg_match('#<li(.*?)>(.*)</li>#ims', $commentout, $matches);
echo "<li style=\"display:none\"".$matches[1].">".$matches[2]."</li>";

?>



La linea 21 a la que hace referencia es esta

Código :
Código:

$post_status = $wpdb->get_var("SELECT comment_status FROM $wpdb->posts WHERE ID = '$comment_post_ID'");


+ Probe bajandome de nuevo el theme original y pisando los archivos, pero nada. Sigue de la misma manera, dando el mismo error.

+ Busque el error en google, pero no sale nada.

+ Tengo la Version 2.3.2 de WordPress.



HELP !
:'(

Muchas Gracias!!!


La zona horaria es GMT -6. Ahora son las 00:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.