web-dev-qa-db-fra.com

Comment récupérer le postID dans une fonction de hook "image_send_to_editor"?

Voici ma fonction:

function insert_img_rel_attrib( $html, $id, $caption, $title, $align, $url  )
{
  $postID = ???
  $rel = "<a rel='shadowbox[".$postID."]'";
  if ($url) {$html = str_replace("<a",$rel,$html);}
  return $html;
}
add_filter( 'image_send_to_editor', 'insert_img_rel_attrib', 10, 6 );

Comment puis-je obtenir l'ID de l'article actuel? J'ai essayé l'évidence, global $wp_query; $postID = $wp_query->post->ID; etc.

1
two7s_clash

Cela devrait fonctionner dans votre fonction:

get_post_field( 'post_parent', $id )
2
Dave Konopka

Votre global devrait fonctionner, que se passe-t-il quand vous faites écho à $postID (vous devriez probablement utiliser un nom plus unique ici).

Vous pouvez aussi essayer

global $post;
$Your_Post_ID = $post->ID;

Je ne connais pas très bien ce hook, vous devrez peut-être utiliser wpdb.

0
Wyck

D'après ce que je me souviens, le $post global n'est pas défini dans la liste déroulante. Vous pouvez cependant vérifier le contenu du $_REQUEST global et le récupérer (en supposant que l'éditeur est appelé à partir d'un écran de post-édition et non par le biais du gestionnaire de médias ou d'un autre emplacement).

0
goldenapples