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