Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/08/2009, 14:14
sandinosaso
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Ejecutar un código PHP cada vez que publico un post

Lo puedes hacer creando un plugin para wordpress (busca en google son muy sencillos es un simple archivo php que debes crear)..

En el creas la funcion que quieras (ej: 'my_funcion') y la asignas a una action de Wordpress..
Es decir le dices a wordpress que cuando pase determinado evento ejecute tu codigo:

Esto se hace llamando en el codigo de tu plugin add_action('action_name','my_funcion')....

Donde 'action_name' es una Action disponible de Wordpress (HAY UN MILLON ...buscalas en google por Wordpress Action Reference)...

Y donde 'my_funcion' es el nombre de tu funcion...

Un ejemplo:

(Que utilizo para cuando alguien hace
un comment da algun post le envia un mensaje al correo del usuario que publico dicho post avisando que han comentado un post suyo):


function avisoNuevoComentario($comment_id){
$comment = get_comment($comment_id);
$post = get_post($comment->comment_post_ID);
$user = get_userdata( $post->post_author );

$notify_message = '';
$notify_message .= 'Nuevo comentario en tu post:' . $post->post_title . "\r\n";
$notify_message .= 'Autor : ' . $comment->comment_author . ' IP:' . $comment->comment_author_IP . ' Dominio:' . $comment_author_domain . "\r\n";
$notify_message .= 'E-mail : ' . $comment->comment_author_email . "\r\n";
$notify_message .= 'URL : ' . $comment->comment_author_url . "\r\n";
$notify_message .= __('Comentario: ') . "\r\n\t" . $comment->comment_content . "\r\n\r\n";
$notify_message .= __('Puedes ver todos los comentarios de este post aqui.: ') . "\r\n";

$subject = 'Nuevo Comentario en BlogSeciu para un POST tuyo!!! TITULO DEL POST:' . $post->post_title;


$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
$notify_message .= sprintf( __('Borralo: %s'), admin_url("comment.php?action=cdc&c=$comment_id") ) . "\r\n";
$notify_message .= sprintf( __('Marcalo como spam: %s'), admin_url("comment.php?action=cdc&dt=spam&c=$comme nt_id") ) . "\r\n";

$to = $user->user_email;

mail($to, $subject, $notify_message);

}

Y la llamada al add_action asi:

add_action('comment_post','avisoNuevoComentario');

Aqui el action es comment_post...que se ejecuta cuando alguien comenta un post..

Espero no haberte mareado...pero como ves se puede hacer con un unico archivo....Salu2