如何在主题/插件中只针对首页(而不是后续分页页面)?

时间:2015-11-16 作者:jonathanbell

我只想打开头版。不是后续分页的页面(如?paged=2)。我想只在网站的“真实”首页上输出某些输出。

我尝试过:

<?php if (is_front_page() && get_query_var(\'paged\', 1) == 1 || 0): ?>
但只有当paged 变量存在(例如:domain.com?paged=1).

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

你对is_front_page(). 让我们看看来源:

public 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;
}
所以从上面来看,is_front_page() 将在返回true

阅读设置设置为时,静态首页(Front page)和静态首页的每个页面。/page/2/ etc将返回true,因为它只是静态首页的分页页面

阅读设置设置为“em”时的主页Your latest posts,以及贴子页面的每个页面。

is_front_page() 将在以下时间返回false:

  • 当设置了静态首页,而帖子页面设置了Posts page。然而is_home() 此处将返回true

    任何其他非主页或静态首页的页面。

    你想的是is_paged(). 此条件将在分页查询的第一页返回false,并在分页查询的另一页返回true。

    考虑到这一点,您可能需要以下内容

    if (    is_front_page() // Can change to is_home()
         && !is_paged() // Use the NOT operator to return true on page one, false after that
    ) {
        // Do what you need to do
    }
    

相关推荐

functions php file

好的,我正在编辑我的函数。Wordpress中的php文件(关于我的子主题),我删除了一行代码(在删除之前我复制了代码)。这导致了白色的死亡屏幕,所以我简单地粘贴回我删除的代码(是的,我将它粘贴回我删除它的位置),但我仍然有白色的死亡屏幕。我已经完成了这些功能。我上周完成的一个备份中的php文件(功能齐全),并通过FTP将其上载到正确的文件夹,但没有任何效果。我已经尝试再次激活父主题,并创建了另一个子主题,以便比较这两个功能。php文件(将全新的、有效的子主题与不再工作的原始子主题进行比较),代码看起来是