0

我是 Wordpress 的新手,这是我的第一个 Wordpress 网站,所以请多多包涵。

这是我的 index.php:

<?php get_header(); ?>
   <div id="content">
        <section id="posts">
                <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                <section class="post">
                    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?>        </a></h2>
                    <div class="holder">

                    </div>
                    <p><?php the_content(); ?></p>
                </section>
                <?php endwhile; else: ?>
     <p><?php _e('Nothing here, sorry.'); ?></p>
     <?php endif; ?>
        </section>
        <aside>
            <?php get_sidebar(); ?>
        </aside>
         <div style="clear:both"></div>
        </div>   
        <div class="push"></div>
    </div>
</div>  
    <?php get_footer(); ?>

基本上,我想要的是从帖子中找到第一张图片,并将其放在 .holder div 中。它应该类似于 jQuery 中的 detach() 和 append() 工作。

我知道我应该使用过滤器和操作,但我不知道如何开始,所以任何帮助将不胜感激。

4

1 回答 1

1

在您的文件 functions.php 中:

<?php function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ 
 //Defines a default image
 $first_img = "/images/default.jpg";
}
return $first_img;
}
?>

并在您的文件 index.php 中放置:

<div class="holder">
   <img src="<?php echo catch_that_image() ?>" />
</div>
于 2013-03-15T14:14:53.877 回答