Solución al error de WordPress en paginación de categorias y autor PHP, Programación - 28 de August de 2009 | 6:50 am | 5 Comentarios



Existe un error de WordPress donde la paginación no funciona en permalinks que lleven la siguiente estructura.

tublog.com/%category%/%postname%/
tublog.com/%author%/%postname%/
Cuando vas a la cualquier página que no sea la primera recibes error 404. Afortunadamente puedes solucionar el error puedes pegar el siguiente código en el archivo functions.php de tu theme.
 
function remove_page_from_query_string($query_string)
{
    if ($query_string['name'] == 'page' && isset($query_string['page'])) {
        unset($query_string['name']);
        // 'page' in the query_string looks like '/2', so split it out
        list($delim, $page_index) = split('/', $query_string['page']);
        $query_string['paged'] = $page_index;
    }
    return $query_string;
}
 
add_filter('request', 'remove_page_from_query_string');


5 Responses to “Solución al error de WordPress en paginación de categorias y autor”

  1. akers says:

    Lee algo sobre el futuro del uso de split() en PHP, para que vayamos dejando esa función.
    Saludos.
    :P

  2. carlos says:

    Hola que tal, yo tengo la ultima version de wordpress y me sigue apareciendo ese error aunq he intentado repararlo sin exito alguno.

  3. Josu says:

    Me funcionó de perlas, grácias por el aporte !

  4. Irene says:

    Hola!!
    Estoy desesperada!
    Tengo que paginar los resultados de una consulta que hago yo y no es propia de worpress.
    mi codigo:
    posts AS p INNER JOIN $wpdb->term_relationships AS r ON ( p.ID = r.object_id ) …”;
    $totalposts = $wpdb->get_results($total, OBJECT);
    $ppp = intval(’1′); //4 posts per page you might use $ppp = intval(get_query_var(‘posts_per_page’));
    $totaldepost=$wp_query->found_posts = count($totalposts);
    $total_paginas=$wp_query->max_num_pages = ceil($wp_query->found_posts / $ppp);
    $on_page = intval(get_query_var(‘paged’));
    if($on_page == 0){ $on_page = 1; }
    $offset = ($on_page-1) * $ppp;
    $wp_query->request = “SELECT p.*,e.* FROM $wpdb->posts AS p INNER JOIN $wpdb->term_relationships AS r ON ( p.ID = r.object_id )……. LIMIT $ppp OFFSET $offset”;
    $pageposts = $wpdb->get_results($wp_query->request, OBJECT);?>

    contenido…

    Not Found
    Sorry, but you are looking for something that isn’t here.

    <?php

    consigo que se me vean bien las dos primeras páginas pero en la tercera ya me pasa al error 404
    como pongo tu código, me puede ayudar??
    soy un poco novata…
    Muchas gracias de ante mano

  5. Rafael says:

    Mi error es el siguiente: cuando le doy clic a una categoría, me lleva a la página de inicio (aunque en la URL aparece la dirección de la categoría en la que supuestamente debería estar).

    ¿Alguien conoce cuál pudiera ser el origen y la solución de este error?

Leave a Reply