Soporte » Guías – Resolución de problemas » Problemas con PAGINADOR NUMÉRICO

  • Resuelto homeroxis

    (@homeroxis)


    Estimados, tengo una función que permite incluir un paginador numérico si la cantidad de post excede lo que yo determine en la plantilla. Esta función anda perfecta si el loop lo tengo en una página (page.php), sin embargo, no funciona si exactamente el mismo loop lo pongo en un single.php

    en single: http://www.designio.cl/consejo/hitos_home/circuitos-culturales/
    en page: http://www.designio.cl/consejo/prueba-circuitos/

    la función es:

    //FUNCIÓN PAGINACIÓN

    //para paginador
    define(‘requestPath’,’http://’.$_SERVER[«HTTP_HOST»] . $_SERVER[«REQUEST_URI»]);
    define(‘cleanPath’,’http://’.$_SERVER[«HTTP_HOST»] . $_SERVER[«SCRIPT_NAME»]);
    $requestPath = cleanPath;
    $getCleanURL = explode(‘?’, $requestPath);
    $getCleanURL = $getCleanURL[0];

    $fullURL = requestPath;
    $getCleanFullURL = explode(‘?’, $fullURL);
    $getCleanFullURL = $getCleanFullURL[0];

    function get_current_page_link(){
    global $post;
    return requestPath;
    }

    function pagination($query, $current) {
    $current_page = explode(‘page’, $current);
    $class = !empty($age) ? ‘ class=»‘.$age.'»‘ : »;
    if (empty($current_page[1])){
    $current_page = explode(«?», $current);
    }
    $baseURL = $current_page[0];
    $page = $query->query_vars[«paged»];
    if ( !$page ) $page = 1;

    $qs = $_SERVER[«QUERY_STRING»] ? «?».$_SERVER[«QUERY_STRING»] : «»;
    // Only necessary if there’s more posts than posts-per-page
    if ( $query->found_posts > $query->query_vars[«posts_per_page»] ) {
    echo ‘<ul id=»numero-pagina»>’;
    // Previous link?
    if ( $page > 1 ) {
    echo ‘

    • <
    • ‘;
      }else{
      echo ‘

    • <
    • ‘;
      }
      // Loop through pages
      for ( $i=1; $i <= $query->max_num_pages; $i++ ) {
      // Current page or linked page?
      if ( $i == $page ) {
      echo ‘<li class=»pag_active»>‘.$i.’‘;
      } else {
      echo ‘

    • ‘.$i.’
    • ‘;
      }
      }
      // Next link?
      if ( $page < $query->max_num_pages ) {
      echo ‘

    • >
    • ‘;
      }else{
      echo ‘

    • >
    • ‘;
      }
      echo »;
      }
      }
      /* fin de paginacion */

      LOOP resumido…

      <?php $query = new WP_Query( array(
      ‘post_type’ => ‘circuitos_culturales’,
      ‘showposts’ => ‘1’,
      ‘paged’ => get_query_var(‘paged’)
      ) ); ?>

      <?php if ( $query->have_posts…..

      Después del loop, lo que llama a la función…

      <?php pagination($query, get_current_page_link()); ?>

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Peter Olle

    (@peterolle)

    En tu función llamas a las paginas todo el tiempo, en ningún momento llamas a los posts.

    No estaría de más que marques este tema como resuelto y abras uno nuevo pegando el código de forma correcta utilizando el botón de «code» para que no se arruine.

    Saludos.

    Iniciador del debate homeroxis

    (@homeroxis)

    Estimado Peter, tienes toda la razón, la función se refiere en todo momento a páginas. Llevo poco tiempo desarrollando templates de WP y este es mi primer post aquí. En fin, agradezco tu comentario.
    Saludos

    Peter Olle

    (@peterolle)

    De nada.

    Saludos.

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • El debate ‘Problemas con PAGINADOR NUMÉRICO’ está cerrado a nuevas respuestas.