我试着以一种更喜欢的方式重构代码,仅此而已。从逻辑上讲,这似乎是可行的。我所做的是:
我更喜欢WP_Query()
因为有经验的WordPress爱好者喜欢这样的自定义查询(We can learn more)我将硬编码改为WordPress方式来获取主题目录,使用get_template_directory_uri()
最后,我用wp_reset_postdata()
要重置查询,请执行以下操作WP_Query()
在该块中,新代码如下:
<div id="articles">
<?php $system_updates = new WP_Query( array(\'cat\'=>\'45\', \'posts_per_page\'=>\'1\') ); //Query for "System Updates" ?>
<?php if ($system_updates->have_posts()) : while ($system_updates->have_posts()) : $system_updates->the_post(); ?>
<div class="unit one-of-three system-update">
<article <?php post_class() ?> id="post-<?php the_ID(); ?>">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { echo "<img src=\'" . get_template_directory_uri() . "/_/inc/images/system-update-small.png\' alt=\'Bosted System Update\'>"; } ?>
<div class="description">
<span class="date">System Update</span>
<a href="<?php the_permalink() ?>"><h2><?php the_title(); ?></h2></a>
<span class="date"><?php the_time(\'F j, Y\') ?></span>
</div>
</article>
</div> <!-- .system-update -->
<?php endwhile; endif; wp_reset_postdata(); ?>
<?php $information = new WP_Query( array(\'cat\'=>\'1\', \'posts_per_page\'=>\'1\') ); //Query for "Information" ?>
<?php if ($information->have_posts()) : while ($information->have_posts()) : $information->the_post(); ?>
<div class="unit one-of-three info">
<article <?php post_class() ?> id="post-<?php the_ID(); ?>">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { echo "<img src=\'" . get_template_directory_uri() . "/_/inc/images/information-small.jpg\' alt=\'Bosted System Information\'>"; } ?>
<div class="description">
<span class="date">Information</span>
<a href="<?php the_permalink() ?>"><h2><?php the_title(); ?></h2></a>
<span class="date"><?php the_time(\'F j, Y\') ?></span>
</div>
</article>
</div> <!-- .info -->
<?php endwhile; endif; wp_reset_postdata(); ?>
</div> <!-- #articles -->
关于
single.php
, 我以同样的方式重构了代码。只要确保你有
the_post()
一开始:
<?php the_post(); ?>
<div class=\'banner\'><?php if ( in_category(\'1\') ) { the_post_thumbnail(); } elseif ( in_category(\'45\') ) { echo "<img alt=\'Bosted System Update\' class=\'system-update\' src=\'" . get_template_directory_uri() . "/_/inc/images/system-update-big.png\'/>"; } else { echo "<img class=\'system-update\' alt=\'Bosted Information\' src=\'" . get_template_directory_uri() . "/_/inc/images/information-big.jpg\'/>"; } ?></div>
让我们试试这些。我不知道你的代码为什么不起作用。。。