这是一个wordpress问题。我试图在我的内页模板上使用一些在我的主页上运行良好的代码:
query_posts('cat=4');
// The Loop
echo '<div id="cal_details"><ul>';
while ( have_posts() ) : the_post();
$cal_date_j = date('j', intval(get_post_meta($post->ID, 'date_value', true)));
$cal_date_n = date('n', intval(get_post_meta($post->ID, 'date_value', true)));
$my_array[] = date('j, n', intval(get_post_meta($post->ID, 'date_value', true)));
$issetdate = get_post_meta($post->ID, 'date_value', true);
if (isset($issetdate)) {
echo '<li class="cal_event_li list_item_' . $cal_date_j . '_' . $cal_date_n . '">';
echo '<a href="' . get_permalink() . '">';
the_title();
echo '</a></li>';
}
endwhile;
echo '</ul></div>';
但是,这似乎不适用于内页。所有标题链接都正确输出,但它不会正确打印get_post_meta部分。
列表项全部显示为<li class="cal_event_li list_item_1_1">
我认为我尝试使用$ post-&gt; ID的方式可能存在一些问题,但我不确定这里会发生什么。有什么想法吗?
答案 0 :(得分:1)
当您使用query_posts
时,您必须致电global $post
以获取post_meta。如果您只调用一个类别,为什么不使用存档模板?
此外,如果您要使用query_posts
,请确保在之后重置查询,以便插件,侧边栏等仍然可以与条件等循环进行交互。
global %post;
query_posts('cat=4');
// The Loop
//more stuff
endwhile;
wp_reset_query();
答案 1 :(得分:-1)
尝试使用内部页面中的_ID()替换$ post-&gt; ID。像这样的东西
query_posts('cat=4');
// The Loop
echo '<div id="cal_details"><ul>';
while ( have_posts() ) : the_post();
$cal_date_j = date('j', intval(get_post_meta(the_ID(), 'date_value', true)));
$cal_date_n = date('n', intval(get_post_meta(the_ID(), 'date_value', true)));
$my_array[] = date('j, n', intval(get_post_meta(the_ID(), 'date_value', true)));
$issetdate = get_post_meta(the_id(), 'date_value', true);
if (isset($issetdate)) {
echo '<li class="cal_event_li list_item_' . $cal_date_j . '_' . $cal_date_n . '">';
echo '<a href="' . get_permalink() . '">';
the_title();
echo '</a></li>';
}
endwhile;
echo '</ul></div>';