我正在尝试制作一个小部件,它将帖子id作为用户的输入,并在侧栏中显示指定帖子的图像。wp_get_attachment_url()
获取url,但在下一行中wp_get_attachment_image()
不在同一张照片=>id上显示图像。我不知道哪里出了问题。我正在确认来自帖子内容的URL,否则wp_get_attachment_image()
正在归还所有媒体库。但是现在wp_get_attachment_image()
不再工作。
在浏览其他wordpress支持小组和stack exchange帖子后,分享我试图组合的小部件代码:
function widget( $args, $instance ) {
echo $args[\'before_widget\'];
$photos = get_children( array(\'post_parent\' => $instance[\'post\'], \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\') );
//for getting inline post images only
$post_id=$instance[\'post\'];
$content_post = get_post($post_id);
$content = $content_post->post_content;
$content = apply_filters(\'the_content\', $content);
$content = str_replace(\']]>\', \']]>\', $content);
if (!empty($photos)) :
//Loop through each attachment..
foreach ($photos as $photo_id => $photo) :
//getting inline post images only
$url = wp_get_attachment_url($photo_id);
$position = strpos($content, $url);
if($position){
echo $post_id;
//working shows all the attached photo urls
echo wp_get_attachment_url($photo_id);
//not working
wp_get_attachment_image($photo_id, \'thumbnail\') ;
}
endforeach ;
endif ;
最合适的回答,由SO网友:cybmeta 整理而成
当你说“不工作”时,你应该包括你期望的和你得到的;“不工作”很少说明你的问题。如果不知道你到底有什么问题,我想你看不到图像。在这种情况下,我建议改变这一点:
wp_get_attachment_image($photo_id, \'thumbnail\');
使用:
echo wp_get_attachment_image($photo_id, \'thumbnail\');
wp_get_attachment_image()
返回HTML图像元素,但不打印它。