博客帖子与静态页面(条件语句)

时间:2015-11-13 作者:Unix

我想确定什么时候是下一页:

首页显示博客页面首页显示博客页面+子页面:/page/2/

  • 首页为静态页面
  • 博客页面为静态页面
  • 博客页面为静态页面+子页面:/page/2/
  • 由于标签,数字1和数字3很容易is_front_page(). 目前,以下代码适用于我的5点:

    switch ( true ) {
        case ( is_home() && \'page\' && ! is_front_page() && get_query_var( \'paged\' ) > 1 ) :
            // Number 5
            break;
    
        case ( is_home() && \'page\' && ! is_front_page() ) :
            // Number 4
            break;
    
        case ( \'posts\' == get_option( \'show_on_front\' ) && get_query_var( \'paged\' ) > 1 ) :
            // Number 2
            break;
    
        case ( is_front_page() ) :
            // Number 1 and 3
            break;
    }
    
    问题是,此代码与类别存档存在冲突。类别存档具有与数字2和5相同的结果。所以我不知道我做错了什么。

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

    好吧,毕竟我解决了这个问题。注释输入到代码中:

    global $paged;
    switch ( true ) {
    
        // Determine if the blog is a static page (subpages)
        case ( is_home() && \'page\' && ! is_front_page() && $paged > 1 ) :
            break;
    
        // Determine if the blog is a static page (first page)
        case ( is_home() && \'page\' && ! is_front_page() ) :
            break;
    
        // Determine if it\'s the front page and displays the blog (subpages) 
        case ( is_home() && \'posts\' && $paged > 1 ) :
            break;
    
        // Determine if it\'s the front page: blog and static (both)
        case ( is_front_page() ) :
            break;
    }
    
    这非常有用,例如,如果我们想在首页显示博客页面,同时我们想禁用子页面的索引,因为我们已经有了类别存档(以避免重复内容)。

    相关推荐