IS_FROWN_PAGE和IS_HOME在Page.php中不起作用

时间:2012-03-23 作者:Marc Wiest

我正在尝试将我的登录页定位为is_front_pageis_home 在我的page.php 但它不起作用。我已设置settings > reading 到静态页面。

但是,如果我创建page-home.php 一切正常(当然没有标签)。但是,如果我使用is_front_pageis_home 在索引文件上,它们将起作用(在我的博客页面上)。

我只是误解了它们的功能,如果是这样,我如何动态地定位登录页?

<?php get_header(); ?>

<?php if ( is_front_page() || is_home() ) : ?>
    <h1>Why not???</h1>
<?php endif; ?>

<div>
    <article>
        <?php get_template_part( \'loop\', \'page\' ); ?>
    </article>

    <aside>
        <?php get_sidebar(); ?>
    </aside>
</div>

<?php comments_template(); ?>

<?php get_footer(); ?>

1 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

好的,如果您看看is_front_page, 您将看到以下内容:

/**
 * Is the query for the front page of the site?
 *
 * This is for what is displayed at your site\'s main URL.
 *
 * Depends on the site\'s "Front page displays" Reading Settings \'show_on_front\' and \'page_on_front\'.
 *
 * If you set a static page for the front page of your site, this function will return
 * true when viewing that page.
 *
 * Otherwise the same as @see WP_Query::is_home()
 *
 * @since 3.1.0
 * @uses is_home()
 * @uses get_option()
 *
 * @return bool True, if front of site.
 */
function is_front_page() {
    // most likely case
    if ( \'posts\' == get_option( \'show_on_front\') && $this->is_home() )
        return true;
    elseif ( \'page\' == get_option( \'show_on_front\') && get_option( \'page_on_front\' ) && $this->is_page( get_option( \'page_on_front\' ) ) )
        return true;
    else
        return false;
}
我想你的问题的答案就在这句话里If you set a static page for the front page of your site, this function will return true when viewing that page. 这意味着要创建您的页面。php按照您的意愿工作,您需要转到“设置”->“阅读”页面并设置“首页显示”选项。

结束

相关推荐

homepage loading too slow

我将一个网站转移到VPS,当我打开该网站时,主页的加载时间太长,对我来说,仅仅显示主页需要30-35秒,但当我以正常速度浏览它加载的内部页面时,我也尝试了这一方法,当时我的所有插件都已停用,但没有变化,加载需要时间。