有没有办法从博客页面和单一页面中删除特色图片

时间:2012-10-30 作者:zadubz

<?php
/*
 *
 * The default template for displaying content. Used for both single and index/archive/search.
 *
 * @package WordPress
 * @subpackage Twenty_Twelve
 * @since Twenty Twelve 1.0
 */
?>

    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <?php if ( is_sticky() && is_home() && ! is_paged() ) : ?>
            <div class="featured-post">
                    <?php _e( \'Featured post\', \'twentytwelve\' ); ?>
            </div>
            <?php endif; ?>
            <header class="entry-header">
                     <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                    <?php if ( is_single() ) : ?>
                    <h1 class="entry-title"><?php the_title(); ?></h1>
                    <?php else : ?>
                    <h1 class="entry-title">
                            <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( \'Permalink to %s\', \'twentytwelve\' ), the_title_attribute( \'echo=0\' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
                    </h1>
                    <?php endif; // is_single() ?>
                    <?php if ( comments_open() ) : ?>
                            <div class="comments-link">
                                    <?php comments_popup_link( \'<span class="leave-reply">\' . __( \'Leave a reply\', \'twentytwelve\' ) . \'</span>\', __( \'1 Reply\', \'twentytwelve\' ), __( \'% Replies\', \'twentytwelve\' ) ); ?>
                            </div><!-- .comments-link -->
                    <?php endif; // comments_open() ?>
            </header><!-- .entry-header -->

            <?php if ( is_search() ) : // Only display Excerpts for Search ?>
            <div class="entry-summary">
                    <?php the_excerpt(); ?>
            </div><!-- .entry-summary -->
            <?php else : ?>
            <div class="entry-content">
                    <?php the_content( __( \'Continue reading <span class="meta-nav">&rarr;</span>\', \'twentytwelve\' ) ); ?>
                    <?php wp_link_pages( array( \'before\' => \'<div class="page-links">\' . __( \'Pages:\', \'twentytwelve\' ), \'after\' => \'</div>\' ) ); ?>
            </div><!-- .entry-content -->
            <?php endif; ?>

            <footer class="entry-meta">
                    <?php twentytwelve_entry_meta(); ?>
                    <?php edit_post_link( __( \'Edit\', \'twentytwelve\' ), \'<span class="edit-link">\', \'</span>\' ); ?>
                    <?php if ( is_singular() && get_the_author_meta( \'description\' ) && is_multi_author() ) : // If a user has filled out their description and this is a multi-author blog, show a bio on their entries. ?>
                            <div class="author-info">
                                    <div class="author-avatar">
                                            <?php echo get_avatar( get_the_author_meta( \'user_email\' ), apply_filters( \'twentytwelve_author_bio_avatar_size\', 68 ) ); ?>
                                    </div><!-- .author-avatar -->
                                    <div class="author-description">
                                            <h2><?php printf( __( \'About %s\', \'twentytwelve\' ), get_the_author() ); ?></h2>
                                            <p><?php the_author_meta( \'description\' ); ?></p>
                                            <div class="author-link">
                                                    <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( \'ID\' ) ) ); ?>" rel="author">
                                                            <?php printf( __( \'View all posts by %s <span class="meta-nav">&rarr;</span>\', \'twentytwelve\' ), get_the_author() ); ?>
                                                    </a>
                                            </div><!-- .author-link        -->
                                    </div><!-- .author-description -->
                            </div><!-- .author-info -->
                    <?php endif; ?>
            </footer><!-- .entry-meta -->
    </article><!-- #post -->
现在在2012年的主题是the_post_thumbnail() 获取特征图像并将其呈现在主博客页面和单个页面中。我尝试删除它,但它也删除了博客可能具有的任何其他图像。我只想从列出所有帖子的主博客页面和单个页面中删除特征图像。php。

任何帮助都将不胜感激

 <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>

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

如果不想直接修改模板文件,则可以始终使用post_thumbnail_html 过滤器:

function wpse70960_filter_post_thumbnail_html( $html ) {
    if ( ( is_home() || is_single() ) {
        return \'\';
    } else {
        return $html;
    }
}
add_filter( \'post_thumbnail_html\', \'wpse70960_filter_get_post_thumbnail_html\' );
此代码段可在函数中使用。php文件或自定义(mu-)插件。

根据您的评论编辑:

Im使用静态页面作为主页,博客使用我在WP CMS中创建的新页面,使用名为博客页面的模板文件。主页正在呈现帖子的特色图片,这正是我所需要的。我想避免在博客页面和单页面中使用特色图片。

有两种方法:

不要使用自定义页面模板来显示博客帖子索引。没有必要。假设模板文件为template-blog.php, 复制该文件,并将其重命名为home.php. 然后转到Dashboard -> Settings -> Reading, 并将“帖子页面”设置为使用自定义页面模板的页面。这应该可以解决问题,并确保不会丢失任何格式

global $post;
$page_template = get_post_meta( $post->ID, \'_wp_page_template\', true );
if ( ( is_home() is_single() || \'template-blog.php\' == $page_template ) {
    // etc.
}
使用上述备选方案2编辑2完整代码:

function wpse70960_filter_post_thumbnail_html( $html ) {
    global $post;
    $page_template = get_post_meta( $post->ID, \'_wp_page_template\', true );
    if ( ( is_home() || is_single() || \'template-blog.php\' == $page_template ) {
        return \'\';
    } else {
        return $html;
    }
}
add_filter( \'post_thumbnail_html\', \'wpse70960_filter_get_post_thumbnail_html\' );

SO网友:kaiser

只需将其包装在if 声明:

<?php
if ( ( is_home() OR is_front_page() ) OR is_single() )
{
    ?><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a><?php
}
?>

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php