如何在index.php上使用特色图片?

时间:2015-02-12 作者:RLM

在“阅读设置”中,我选择了我创建的页面的静态页面下拉菜单作为贴子页面。

我已经把html、php和css从我的页面中放了出来。索引中的php。php来设置样式。我无法获取特色图像。我用来在页面上获取它的php。php不工作。它不会呈现任何html。而且<?php the_title(); ?> 正在调出最近一篇博客文章的标题,而不是我切换过的页面的页面标题。

这就是我在page.php上生成特色图像的方式

            <div class="single-image-anchor">
                <?php if (has_post_thumbnail( $post->ID ) ): ?>
                <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'single-post-thumbnail\' ); ?>
                <div class="single-image" style="background-image: url(\'<?php echo $image[0]; ?>\')">
                <?php endif; ?>
            </div>
我是Wordpress的新手,所以提前谢谢你。

3 个回复
SO网友:Mark Kaplun

这并不是一件小事,因为一旦你将一个特定的页面设置为一个帖子的聚合(作为一个帖子页面),wordpress就会“忘记”它从页面本身获得的初始信息,并且会表现得像一个博客的普通主页。这意味着循环中使用的所有全局变量将not 是相关的,不会指示页面本身,因此与API类似the_title 依赖全局信息的页面不会返回与正常页面相同的值。

解决此问题的方法是创建一个用于此页面的特定页面模板,并在其中使用get_option( \'page_for_posts\' ) 作为用于所有API调用的post id参数,因此has_post_thumbnail( $post->ID ) 你会有has_post_thumbnail( get_option( \'page_for_posts\' ) )

SO网友:Brad Dalton

其中一个例子是在内容中使用模板标记的215。php文件如下:

twentyfifteen_post_thumbnail();
然后是inc/template tags中的template tag函数。php:

if ( ! function_exists( \'twentyfifteen_post_thumbnail\' ) ) :
/**
 * Display an optional post thumbnail.
 *
 * Wraps the post thumbnail in an anchor element on index views, or a div
 * element when on single views.
 *
 * @since Twenty Fifteen 1.0
 */
function twentyfifteen_post_thumbnail() {
    if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
        return;
    }

    if ( is_singular() ) :
    ?>

    <div class="post-thumbnail">
        <?php the_post_thumbnail(); ?>
    </div><!-- .post-thumbnail -->

    <?php else : ?>

    <a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true">
        <?php
            the_post_thumbnail( \'post-thumbnail\', array( \'alt\' => get_the_title() ) );
        ?>
    </a>

    <?php endif; // End is_singular()
}
endif;
我不确定我是否理解你的标题问题,但是你可以查看一下档案。php文件,您将看到以下代码以显示归档页面标题:

<header class="page-header">
        <?php
            the_archive_title( \'<h1 class="page-title">\', \'</h1>\' );
            the_archive_description( \'<div class="taxonomy-description">\', \'</div>\' );
        ?>
    </header><!-- .page-header -->

SO网友:RLM
             <div class="page-section clear">
                <div class="single-image-anchor">
                <?php if (get_option( \'page_for_posts\' ) ): ?>
                <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( get_option( \'page_for_posts\' )), \'single-post-thumbnail\' ); ?>
                <div class="single-image" style="background-image: url(\'<?php echo $image[0]; ?>\')">
                <?php endif; ?>
                </div>
            </div>
        <h1 class=\'title\'><?php if(get_option( \'page_for_posts\' ) ) echo get_the_title( get_option( \'page_for_posts\' ) ); ?> </h2>
        <h1><?php _e( \'Latest Posts\', \'html5blank\' ); ?></h1> 
结束

相关推荐

Options for an SEO gallery?

我目前使用的是我喜欢的标准Wordpress图库,因为我的很多访问者在搜索了一些包含在图像描述中的文本后,通过谷歌找到了我。很明显,它以这样一种方式呈现了图库,文本被视为非常突出,我的许多访问者都通过图库进入。问题是gallery只支持纵向,而我还需要一些东西来显示横向中的图像(以避免边缘裁剪)。我发现一些允许两种方向的画廊很难将图像放在屏幕上,使它们看起来很好。我喜欢的最好的例子是Flickr,其中图像以俄罗斯方块的形式显示,但显然不允许在其下方发表评论。我完全有能力在wordpress插件中寻找一个好