更新:
感谢大家的精彩输入,我现在可以在主页中正常运行代码。仍然无法弄清楚为什么相同的代码在小部件中不起作用。它正在拉下标题和永久链接,所以我知道它正在获取数据,但自定义值返回为零
我正在制作一个 wordpress 页面,其中使用该页面的小组正在接受来自观众的挑战。
挑战页面是一个特殊的模板,显示挑战完成程度的百分比条。
该栏工作正常,chrome 有一个小故障,但客户希望“等待”完成 0% 的挑战和 100% 的“完成”而不是图表。
我已经将此代码放入页面和一个结果奇怪的小部件中。在页面上,只显示百分比栏,但在小部件上,所有挑战都列为“待定”
我的页面代码如下:
<?php
/**
* Template Name: Challenges Page
*/
?>
<?php get_header(); ?>
<!-- content -->
<div id="content">
<?php query_posts( array( 'post_type' => 'challenges', 'posts_per_page' => -1 ) ); ?>
<?php while (have_posts()) : the_post(); $more = 0; ?>
<div class="post archive">
<div class="post-comments"><?php comments_popup_link('0', '1', '%'); ?></div>
<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<?php
$target = get_post_meta($post->ID, 'target', true);
$complete = get_post_meta($post->ID, 'complete', true);
$percentage = $complete / $target;
$percentage = round($percentage * 100);
$whatsleft = 100-$percentage;
if($whatsleft < 0) $whatsleft=0;
echo "<table width='250' border='0' cellpadding='0' cellspacing='0'><tr>";
if($complete == $target) {
echo "<td><img src='http://www.smokeyvstheworld.com/wp-content/uploads/2012/05/completed.gif' style='width:200>px;height:24px;'></td>";
} else if ($complete == 0) {
echo "<td><img src='http://www.smokeyvstheworld.com/wp-content/uploads/2012/05/pending.gif' style='width:200>px;height:24px;'></td>";
} else {
echo "<td><img src='http://www.smokeyvstheworld.com/wp-content/themes/spectre/images/brown/grnbar.jpg' style='width:". $percentage ."px;height:12px;'></td><td><img src='http://www.smokeyvstheworld.com/wp-content/themes/spectre/images/brown/grybar.jpg' style='width:". $whatsleft ."px;height:12px;'></td>";
}
echo "</tr><tr><td colspan='2'><div align='right'>". $complete ." of ". $target ." completed</div></td></tr></table>";
?>
<div class="post-date"><?php the_time('l, F jS, Y') ?></div>
<?php if (get_post_meta($post->ID, 'post_image_value', true)) { ?><div class="post-tnail"><a href="<?php the_permalink() ?>"><?php if (get_post_meta($post->ID, 'post_image_value', true) && $mb_resize == 0) { ?><img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo get_post_meta($post->ID, "post_image_value", $single = true); ?>&w=98&h=98&zc=1&q=95" alt="<?php the_title(); ?>" /><?php } else if (get_post_meta($post->ID, 'post_image_value', true) && $mb_resize == 1) { ?><img src="<?php bloginfo('home'); ?><?php echo get_post_meta($post->ID, "post_image_value", $single = true); ?>" alt="<?php the_title(); ?>" /><?php } ?></a></div><?php } ?>
<?php the_excerpt() ?>
<p><a href="<?php the_permalink() ?>" class="more">Continue reading...</a></p>
</div>
<?php endwhile; ?>
</div>
<div id="sidebar"><?php get_sidebar(); ?></div>
<?php get_footer(); ?>
我对自己做错了什么感到困惑,为什么相同的代码在一个实例而不是另一个实例中起作用……我尝试从括号切换到冒号再返回等等。