如何触发Archive php if语句?

时间:2013-11-20 17:05:13

标签: php wordpress if-statement

我在Wordpress中有一个Archive.php页面的代码,但我很难弄清楚如何触发特定的if语句(is_year()is_month())。例如,我想在我的页面上输出 年度档案 ,但我不知道如何实现这一目标。
我尝试在“常规设置”中更改固定链接和更改日期格式,但无论如何我总是输出:“每月存档:”

那么我需要更改什么才能触发特定输出? (每日档案:或年度档案:)
    

<header class="page-header">
 <h1 class="page-title">
 <?php if ( is_day() ) : ?>
 <?php printf( __( 'Daily Archives: %s', 'domain' ), '<span>' . get_the_date() . '</span>' ); ?>
 <?php elseif ( `is_month()` ) : ?>
 <?php printf( __( 'Monthly Archives: %s', 'domain' ), '<span>' . get_the_date( _x( 'F Y', 'monthly archives date format', 'domain' ) ) . '</span>' ); ?>
 <?php elseif ( is_year() ) : ?>
 <?php printf( __( 'Yearly Archives: %s', 'domain' ), '<span>' . get_the_date( _x( 'Y', 'yearly archives date format', 'domain' ) ) . '</span>' ); ?>
<?php else : ?>
<?php _e( 'Blog Archives', 'domain' ); ?>

</h1>
</header>
<?php endif; ?>
    <?php if( have_posts() ) : ?><?php while( have_posts() ) : the_post(); ?>

    <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">

   <div class="entry">                  
    <?php the_content( __( 'Read more', 'domain' ) ); ?>    

    </div><!--/entry-->
    </div><!--/post_class-->

    <?php endwhile; ?>
    <?php endif; ?><!--END if THE LOOP-->

1 个答案:

答案 0 :(得分:1)

我认为您的条件没有任何问题。你会看到什么,当你访问你的网站时,例如example.com/2013,你得到年度存档,elseif example.com/2013/11每月存档,elseif example.com/2013/11/19,每日存档? (如果某个特定存档不存在,则会获得404,而不是空存档)