如何在“IMAGE_SEND_TO_EDITOR”钩子函数中检索postID?

时间:2011-05-24 作者:two7s_clash

以下是我的功能:

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;

3 个回复
最合适的回答,由SO网友:Dave Konopka 整理而成

这应该在您的职能范围内工作:

get_post_field( \'post_parent\', $id )

SO网友:Wyck

您的全局应起作用,当您回应时会发生什么$postID (您可能应该在此处使用更独特的名称)。

你也可以试试,

global $post;
$Your_Post_ID = $post->ID;
虽然我对这个钩子不太熟悉,但你可能不得不使用wpdb.

SO网友:goldenapples

据我回忆,全球$post 未设置在thickbox中。您可以检查全局$_REQUEST 但是,并从那里检索它(假设编辑器是从后期编辑屏幕调用的,而不是通过媒体管理器或其他位置调用的)。

结束

相关推荐

Resizing images failing

我最近添加了三种新尺寸的post\\u缩略图的主题支持,我想调整之前上传的所有旧图像的大小。我自己写的剧本如下:function resizeImages() { require ( ABSPATH . \'wp-admin/includes/image.php\' ); global $wpdb; $images = $wpdb->get_results( \"SELECT ID FROM $wpdb->posts