0

我从以前的开发人员那里挑选了一个项目,他正在使用此代码生成缩略图。我需要添加默认的后备图像,但我不确定最佳做法。

<?php get_header(); ?>
<?php get_sidebar(); ?>
        <div id="container">
        <?php if(have_posts()) : ?>
        <?php while(have_posts()) : the_post(); ?>
        <div class="post" id="post-<?php the_ID(); ?>">
            <div class="entry">
                <?php the_content(); ?>
            </div>
            <?php $categories = get_categories(array('orderby'=>'order','number'=>'13'));
            $wud = wp_upload_dir();
            $width = get_option('thumbnail_size_w');
            $height = get_option('thumbnail_size_h');
            $exclude_cats = array(1, 27); // Array of category ID's to exlude from this page
            ?>
            <div id="gallery">
                <ul class="cat-list">
                <?php foreach ($categories as $cat) {
                    if (!in_array($cat->cat_ID, $exclude_cats)) : ?>
                    <li class="cat-item cat-item-<?php echo $cat->cat_ID; ?>">
                        <a href="<?php echo get_category_link( $cat->term_id ); ?>" title="View all artists under the <?php echo $cat->cat_name; ?> category">
                            <div class="cat-ss" style="position: relative; width: <?php echo $width; ?>px; height: <?php echo $height; ?>px; overflow: hidden;">
                            <?php $artists = get_posts('category=' .  $cat->cat_ID . '&orderby=rand');
                            foreach ($artists as $artist) {
                            $name = get_the_title( $artist->ID );
                            $thumb = $wud['baseurl'] . '/thumb-' . sanitize_title( $name ) . '-' . $width . 'x' . $height . '.jpg'; ?>

                                <img src="<?php echo $thumb; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" width="<?php echo $width; ?>" class="cat-ss-image" height="<?php echo $height; ?>" style="position: absolute; top: 0; left: 0;" />
                            <?php } ?>
                                <div class="cat-ss-caption png" style="position: absolute; bottom: 0;"><h3><?php echo $cat->cat_name; ?></h3></div>

                            </div>
                        </a>
                    </li>
                <?php endif;
                } ?>
                <ul>
            </div>
            <div style="clear: both"></div>
        </div>
        <?php endwhile; ?>
        <?php else : ?>
        <div class="post">
            <h2><?php _e('Not Found'); ?></h2>
        </div>
        <?php endif; ?>
        </div>
        </div>
<?php get_footer(); ?>
4

2 回答 2

0

无论您的代码如何,您都应该查看has_post_thumbnail并使用它get_the_post_thumbnail来输出缩略图或备用图像。

在我的许多网站上都像魅力一样工作。您可以在我链接到的 Codex 页面中找到示例。

于 2015-06-09T10:36:21.847 回答
0

看起来他拉大拇指的代码是

<?php $thumb = $wud['baseurl'] . '/thumb-' . sanitize_title( $name ) . '-' . $width . 'x' . $height . '.jpg'; ?>

因此,如果它不为空,则使其成为条件 if/else 语句,渲染图像缩略图,并在它为空时使用回退,执行此操作(添加图像渲染所需的任何其他代码):

<?php if(!empty $thumb) { ?>
<img src="<?php echo $thumb; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" width="<?php echo $width; ?>" class="cat-ss-image" height="<?php echo $height; ?>" style="position: absolute; top: 0; left: 0;" />
<?php } else { ?>
<img src="yourfallback.jpg" style="position: absolute; top: 0; left: 0;">
<?php } ?>
于 2015-06-09T12:30:00.157 回答