我的网站:http://www.patrickgaffney.com/articles/
我有一页只按年份组织的文章。在我的php文件(archive-articles.php)中,我有一个if else if语句。对于每篇文章,我使用“year”作为自定义字段。
<?php $year = get_post_meta( $post->ID, 'year', true);
if ($year == '2015'){ ?>
<h2>2015</h2>
<ul class="filterable-grid clearfix">
<?php /* Loop the stuff from the videos post type */
$args = array( 'order'=> 'DESC', 'meta_key' => 'year', 'orderby' => 'meta_value', 'post_type' => 'articles', 'posts_per_page' => -1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();?>
<li class="articles-grid">
<?php
/* Set variables and create if stament */
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
$thumb_url = $thumb_url_array[0];
$webaddress = get_post_meta($post->ID, 'webaddress',single);
$caption = get_the_title();
$date = get_post_meta( $post->ID, 'date', true);
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if ( $detect->isMobile() ) {
echo '<a class="nofancybox fancybox-iframe" href="'.$webaddress.'" target="_blank"><figure><img src = "'.$thumb_url.'"><embed src="'.$webaddress.'"/></img><figcaption>'.$caption.'</br><span class="italics">'.$date.'<span></figcaption></figure></a>';
} else {
echo '<a class="fancybox-iframe" href="'.$webaddress.'" target="_blank"><figure><img src = "'.$thumb_url.'"><embed src="'.$webaddress.'"/></img><figcaption>'.$caption.'</br><span class="italics">'.$date.'<span></figcaption></figure></a>';
}
?>
</li>
<?php endwhile;?>
<?php wp_reset_query(); ?>
</ul>
} else if ($year == '2014'){
do something
} else {
do something
}
到目前为止,它仅适用于2014年,并将所有文章置于2014年之下!不确定我做错了什么。我在代码中再次使用get_post_meta并且我回显字符串并且它可以工作,所以绝对不应该是问题。