¿Cómo introducir Permalinks en el widget pop-u-lar?

3

Estoy usando el widget pop-u-lar en mi blog, que está enlazando a las publicaciones seleccionadas por sus "guías". Sin embargo, el sitio en sí está utilizando enlaces legibles por humanos en su lugar y quiero que el widget haga lo mismo.

El widget usa un bucle "para cada" con la variable $ post, por lo que pensé que get_the_permalink ($ post) haría el trabajo, pero parece que se refiere a la URL del sitio. Básicamente se trata de esta línea de código:

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

¿Dónde está el nudo en mi razonamiento?

Aquí está el código del widget:

<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>
    
pregunta Php_Nuub 27.03.2017 - 13:25

0 respuestas

Lea otras preguntas en las etiquetas