it-swarm-ja.com

"image_send_to_editor"フック関数でpostIDを取得するにはどうすればいいですか?

これが私の機能です:

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 );

現在の投稿IDを取得する方法私は明らかな、global $wp_query; $postID = $wp_query->post->ID;などを試してみました.

1
two7s_clash

これはあなたの関数内で動作するはずです。

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

あなたのグローバルはうまくいくはずです。$postIDとエコーするとどうなりますか(おそらくここでもっとユニークな名前を使うべきです)。

あなたも試すことができます、

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

私はこのフックにあまり馴染みがありませんが、wpdbを使う必要があるかもしれません。

0
Wyck

私が思い出したことから、グローバル$postはthickboxに設定されていません。ただし、グローバル$_REQUESTの内容を確認して、そこから取得することができます(エディタがメディアマネージャや他の場所からではなく、編集後の画面から呼び出されていると仮定します)。

0
goldenapples