从_Content()中检索图像

时间:2014-07-10 作者:Marius Talagiu

我想从\\\\u content()获取图像,我知道我可以使用正则表达式来获取图像,但我想知道是否还有其他“wordpress方式”来实现这一点?

我有一个插件和一个过滤器

 add_filter(\'the_content\', \'myTestContentFunction\');
谢谢你

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

这里基本上有三个标准:

图片是否属于该网站(是WP附件)是附在本帖上的图片是本帖中使用的图片这有副作用,如:

post中使用的图像不一定是附件,post中使用的附件也不一定是post中使用的附件,因此,生成完整图像集(实际用于特定post内容)的唯一可靠方法确实是为其解析内容(在库和嵌入等短代码之后)。

之后,您可以[尝试]将URL反向工程到WP的附件中,请参见Turn a URL into an Attachment / Post ID 例如

SO网友:Matt Royal

您可以使用get_attached_media(), 作用我已将上述内容链接到抄本。

P、 这不是我自己的代码,直接来自WordPress Codex:

<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();    

 $args = array(
   \'post_type\' => \'attachment\',
   \'numberposts\' => -1,
   \'post_status\' => null,
   \'post_parent\' => $post->ID
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo \'<li>\';
           echo wp_get_attachment_image( $attachment->ID, \'full\' );
           echo \'<p>\';
           echo apply_filters( \'the_title\', $attachment->post_title );
           echo \'</p></li>\';
          }
     }

 endwhile; endif; ?>
</ul>

EDIT

您可以尝试以下方式:

function get_attached_images() {
global $post;
$post_id = $post->ID;
$media = get_attached_media( \'image\', $post_id );
}

结束

相关推荐

当返回值为空时,Apply_Filters为什么要返回非空字符串?

因为这个把我的键盘弄坏了。进行了正确的安装,将数据库上载到新的MySQL,并一直在正确使用子主题。但有件事困扰着我,我想不出来。在我的新安装上(ver2.whowhatwhy.com) 我故意将一些小部件留空。我想,当阅读default-widgets.php wp中的文件包括在该小部件上不会显示标题元素。相反,显示标题小部件是因为,出于某种原因,传递的值apply_filters 是一个空格,而不是空白值$instance[\'title\'] 为空。$title = apply_filters( \'