2013-08-02 3 views
0

Я создаю виджет, который показывает папулезное и недавнее сообщение, но это все время покажет 2013 08 02 whats problem? thats show correct with wp_query bu показать дополнительную строку, я не могу это понять.wordpress показать время публикации в моем плагине

function posts($sort = 'recent', $items = 3, $echo = TRUE, $bg_color = 'black') 

{ $ return_html = '';

if($sort == 'recent') 
{ 
    $posts = get_posts('numberposts='.$items.'&order=DESC&orderby=date&post_type=post&post_status=publish'); 
    $title = __('Recent Posts', THEMEDOMAIN); 
} 
else 
{ 
    global $wpdb; 

    $query = "SELECT ID, post_title, post_content FROM {$wpdb->prefix}posts WHERE post_type = 'post' AND post_status= 'publish' ORDER BY comment_count DESC LIMIT 0,".$items; 
    $posts = $wpdb->get_results($query); 
    $title = 'Popular Posts'; 
} 

if(!empty($posts)) 
{ 

    $return_html.= '<h2 class="widgettitle">'.$title.'</h2>'; 
    $return_html.= '<ul class="posts blog '.$bg_color.'_wrapper">'; 

    $count_post = count($posts); 

     foreach($posts as $post) 
     { 
      $image_thumb = get_post_meta($post->ID, 'blog_thumb_image_url', true); 
      $return_html.= '<li>'; 

      if(has_post_thumbnail($post->ID, 'large')) 
      { 
       $image_id = get_post_thumbnail_id($post->ID); 
       $image_url = wp_get_attachment_image_src($image_id, 'thumbnail', true); 

       $return_html.= '<a href="'.get_permalink($post->ID).'"><img class="alignright frame" src="'.$image_url[0].'" alt="" /></a>'; 
      } 

      $return_html.= '<strong class="title"><a href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></strong><br/><span class="post_attribute">'.get_the_time('F j, Y', $post->ID).'</span>'; 
      $return_html.= '</li>'; 

     } 

    $return_html.= '</ul>'; 

Может мне кто-нибудь помочь? извините за мой плохой английский.

+0

Где функция 'get_the_time'? – AmazingDreams

+0

см. Конец вопроса –

ответ

0

От WP Documentation,

get_the_time возвращает время текущего сообщения для использования в PHP. Он не отображает время. Чтобы отобразить время публикации, используйте the_time(). Этот тег должен использоваться в Loop.

Так что я думаю, что вы хотите использовать, the_time('F j, Y')


Edit: Попробуйте добавить эту строку в качестве первой строки в вашем foreach цикле:

setup_postdata($post); 
+0

спасибо за помощь, но the_time не работает true –

+0

Я думаю, вам нужно использовать ['The Loop'] (http://codex.wordpress.org/The_Loop), как указано в приведенной выше цитате. – AmazingDreams

Смежные вопросы