我正在尝试将 if 语句与 is_category() 一起使用,以便稍后构建更大的代码。我无法让代码识别 if 语句。基本上在下面我已经发布了带有注释的 if 语句的编码。它可以在没有 if 语句的情况下工作,但如果我取消注释 if 语句(和右大括号),则会出现错误并且页面不会显示。我只是在类别页面上检查它,所以我认为它应该识别出它是一个类别页面并显示帖子(如果我在“标签”存档页面等上,我可以理解这是一个问题)。为什么显示会有问题?
编辑
我在相关代码 BTW 之前包含了一堆代码,所以有一个上下文。当应用于页面标题(即新闻类别的存档)时,条件if (is_category())
有效,但再往下一点它就不起作用了......
(顺便说一句,我确实知道有一个 WordPress 堆栈交换站点,但我很少在那里得到我的问题的答案。我也在那里提交了这个问题,但我认为有人也可以在这里帮助我,因为答案与 PHP 相关。谢谢!)
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php /* If this is a category archive */ if (is_category()) { ?>
<?php _e('<p>Archive for the ·</p>', 'life-is-simple'); ?><h1><?php single_cat_title(); ?></h1><?php _e('<p>· Category...</p>', 'life-is-simple'); ?>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<?php _e('<p>Posts tagged ·</p>', 'life-is-simple'); ?><h1><?php single_tag_title(); ?></h1><p>·...</p>
<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
<?php _e('<p>Archive for </p>', 'life-is-simple'); ?><h1><?php the_time('F jS, Y'); ?></h1><p>...</p>
<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
<?php _e('<p>Archive for </p>', 'life-is-simple'); ?><h1><?php the_time('F, Y'); ?></h1><p>...</p>
<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
<?php _e('<p>Archive for </p>', 'life-is-simple'); ?><h1><?php the_time('Y'); ?></h1><p>...</p>
<?php /* If this is an author archive */ } elseif (is_author()) { ?>
<?php _e('<p>Archive for the author ·</p>', 'life-is-simple'); ?><h1><?php echo $curauth->display_name; ?></h1><p>·...</p>
<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<?php _e('<p>Blog archives...</p>', 'life-is-simple'); ?>
<?php } ?>
<?php if (have_posts()) : ?>
<ul style="list-style-type:none;">
<?php
/*if (is_category()) {*/
if ($paged == 0)
$offset = 0;
else
$offset = ($paged - 1) * 11;
global $post;
$category = get_the_category($post->ID);
$category = $category[0]->cat_ID;
$myposts = get_posts(array('numberposts' => 11, 'offset' => $offset, 'category__in' => array($category), 'post__not_in' => array($post->ID),'post_status'=>'publish'));
foreach($myposts as $post) :
setup_postdata($post);
/*}*/
?>