Как ввести Permalinks в виджет pop-u-lar?

Я использую виджет pop-u-lar в своем блоге, который ссылается на выбранные сообщения их «guid». Однако сам сайт использует человеко-читаемые ссылки, и я хочу, чтобы виджет делал то же самое.

Виджет использует цикл «для каждого» с переменной $ post, поэтому я думал, что get_the_permalink ($ post) выполнит эту работу, но, похоже, вместо этого ссылается на URL-адрес сайта. В основном речь идет об этой строке кода:

<a href="<?php echo $post->guid ?>"><?php echo $post->post_title ?></a> 

Где узел в моих рассуждениях?

Вот код виджета:

 <ol class="f"> <?php $rows = (isset($instance['num_of_posts']))?$instance['num_of_posts']:3; $ptype = (isset($instance['ptype_select']))?$instance['ptype_select']:'any'; $pop_tax = (isset($instance['pop_tax']))?$instance['pop_tax']:''; $pop_tax_val = (isset($instance['pop_tax_val']))?$instance['pop_tax_val']:''; if(false !== ($posts = get_transient($this->id))){ }else{ switch ($instance['select_by']) { case 'views': $posts = yg_popular::yg_getPopularPosts($rows,$instance['dur_select'],$ptype,$pop_tax,$pop_tax_val); break; case 'comments': $posts = yg_popular::yg_getPopularPostsComments($rows,$ptype,$instance['dur_select'],$pop_tax,$pop_tax_val); break; case 'tags': $posts = yg_popular::yg_getPopularPostsTags($rows,$ptype); break; case 'most recent': $posts = yg_popular::yg_getPopularPosts($rows,'recent',$ptype,$pop_tax,$pop_tax_val); break; default: $posts = yg_popular::yg_getPopularPosts($rows,false,$instance['dur_select'],$ptype,$pop_tax,$pop_tax_val); break; } $cacheDur = yg_popular::yg_getCacheDuration(); if($cacheDur!=0) set_transient($this->id,$posts, $cacheDur * 60); } foreach ($posts as $post){ ?> <li class="l"> <a href="<?php echo $post->guid ?>"><?php echo $post->post_title ?></a> </li class="l"> <?php } ?> </ol> 

Solutions Collecting From Web of "Как ввести Permalinks в виджет pop-u-lar?"