2011-04-13 2 views
2

En utilisant le hook publish_post, je veux accéder à l'adresse e-mail de l'utilisateur (même si son identifiant ne fonctionnera pas si je ne l'obtiens pas) et l'identifiant de la poste.Obtenir des informations post et poster pendant «publish_post» dans wordpress

Comment pourrais-je m'y prendre? vous devriez éviter d'utiliser global car faisant référence à une variable globale pourrait donner des conséquences inattendues dans l'avenir

Répondre

1
global $post; 
$author_id = $post->post_author; 
+1

Négatif fantôme, pour une raison quelconque $ post n'est pas disponible lorsque le hook publish_post est, bien, accroché. Je ne sais pas pourquoi, je sais juste que ce n'est pas le cas. – S16

+0

Vous êtes sûr? 'Fonction tttt() { \t global $ post; \t var_dump ($ post);} add_action ('publish_post', 'tttt'); ' Cela fonctionne pour moi. –

+0

Comment très étrange. Pouvez-vous coller votre sortie var_dump pour moi? – S16

0

Puisque vous pouvez obtenir l'identifiant de poste (avec $ID ou $post_id). Pour ce faire:

add_action("publish_post", "your_function", 10, 1); 
function your_function($post_id) { 
    $post = get_post($post_id); 
    $author_id = $post->post_author; /* Post author ID. */ 
    $email = get_the_author_meta('user_email', $author_id); 
} 
Questions connexes