2011-04-26 61 views
0

這是一個WordPress的問題。我想用一段代碼的作品就好在我的主頁上我的內頁模板:WordPress後 - > 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($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">

我覺得有可能是一些問題與我曾嘗試使用$後> ID,但林不知道什麼怎麼回事的方式。有任何想法嗎?

回答

1

當您使用query_posts你必須調用global $post得到post_meta。如果您只調用一個類別,爲什麼不使用存檔模板?

此外,如果你打算使用query_posts確保您重置查詢後記這樣的插件,工具條等可與循環的條件語句等仍互動..

global %post; 
query_posts('cat=4'); 
    // The Loop 
    //more stuff 
endwhile; 
wp_reset_query(); 
+0

的代碼是一個插件,將日期提供到側欄上的日曆中,這就是爲什麼我無法使用存檔頁面。 – Thomas 2011-04-27 05:07:00

-1

嘗試用內部頁面中的the_ID()替換$ post-> 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>';