Problema de redireccionamiento al pulsar enlace de índice

  • Autor Autor luchozero
  • Fecha de inicio Fecha de inicio
luchozero

luchozero

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Hola amigos!

Tengo una paginación en mi web sin plugins y siempre ha funcionado bien, pero tenemos un pequeño problema, resulta que cuando estamos en cualquier página que no sea el index y queremos volver al index pulsado la página "1", en vez de salirnos la url (https://www.miweb.com/) nos sale de la siguiente manera (https://www.miweb.com/page/1/) lo que provoca un redireccionamiento.

El código que tenemos en el fuctions.php es el siguiente:

Insertar CODE, HTML o PHP:
function mt_paginacion($tipo=1,$class=NULL,$qc=NULL){

global $wp_query,$paged;

if($qc==''){$total=$wp_query->max_num_pages;}else{$total=$qc;}

if($tipo==1){

$paginacion=paginate_links( array(

    'base' => str_replace(999999999, '%#%', esc_url( get_pagenum_link(999999999) ) ),

    'format' => '?paged=%#%',

    'current' => max( 1, $paged ),

    'total' => $total,

    'mid_size' => 3,

    'prev_next' => true

) );


Alguien podría echarnos una mano

Gracias
 
Hola, gracias por responder!

Pero yo lo que necesito es que al pulsar la página 1 ya sea en categorias, tag y demas, vaya a la pagina principal de dicha categoria, tag... y no a la page/1/ porque me provoca una redirección 🙁
 
Hola, gracias por responder!

Pero yo lo que necesito es que al pulsar la página 1 ya sea en categorias, tag y demas, vaya a la pagina principal de dicha categoria, tag... y no a la page/1/ porque me provoca una redirección 🙁

Es lo que te digo, si la función te regresa el html de la paginacion,
haz esto y ya la page/1/ no va existir solo el home.

PHP:
$paginacion = paginate_links(array(
    'base' => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),
    'format' => '?paged=%#%',
    'current' => max( 1, $paged ),
    'total' => $total,
    'mid_size' => 3,
    'prev_next' => true
));

$paginacion = str_replace('page/1/', '', $paginacion);
 
Es lo que te digo, si la función te regresa el html de la paginacion,
haz esto y ya la page/1/ no va existir solo el home.

PHP:
$paginacion = paginate_links(array(
    'base' => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),
    'format' => '?paged=%#%',
    'current' => max( 1, $paged ),
    'total' => $total,
    'mid_size' => 3,
    'prev_next' => true
));

$paginacion = str_replace('page/1/', '', $paginacion);

Muchísimas Gracias!!!!

Me acabas de quitar un peso enorme de encima, GRACIAS!!!
 
Hola amigo!!

Te vuelvo a molestar, te pudo mil disculpas! Como lo has hecho funciona a la perfección, pero y si lo tuviera en php como podría hacerlo??

Insertar CODE, HTML o PHP:
<?php global $wp_query;

            $big = 999999999;

            echo paginate_links( array(

                'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),

                'format' => '?paged=%_%',

                'current' => max( 1, get_query_var('paged') ),

                'total' => $wp_query->max_num_pages,

                'next_text' => '>>',

                'prev_text' => '<<'

            ) );
            ?>
 
el codigo que te paso es php, o cual seria el inconveniente ultimo?
 
El primer código que puse estaba en el fuctions.php de la versión para desktop y con la ayuda del compañero añadí la modificación que me dio y funcionó, pero luego tengo un theme para la versión móvil de la web y en dicha versión móvil el código aparece en el index.php de la siguiente manera:

Insertar CODE, HTML o PHP:
<?php global $wp_query;

            $big = 999999999;

            echo paginate_links( array(

                'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),

                'format' => '?paged=%_%',

                'current' => max( 1, get_query_var('paged') ),

                'total' => $wp_query->max_num_pages,

                'next_text' => '>>',

                'prev_text' => '<<'

            ) );
            ?>

y he añadido lo que ha dicho el compañero, pero parece que en este código no funciona 🙁

Insertar CODE, HTML o PHP:
$paginacion = str_replace('page/1/', '', $paginacion);
 
@luchozero cambia echo paginate_links( array( por $paginacion = paginate_links( array( ya deja lo otro!
 
@luchozero cambia echo paginate_links( array( por $paginacion = paginate_links( array( ya deja lo otro!



Hola amigo!!

Lo he puesto así, pero parece que desgraciadamente no funciona 🙁 sigue apareciendo el page/1/

Insertar CODE, HTML o PHP:
        <?php global $wp_query;

            $big = 999999999;

            $paginacion = paginate_links( array(

                'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),

                'format' => '?paged=%#%',

                'current' => max( 1, get_query_var('paged') ),

                'total' => $wp_query->max_num_pages,

                'next_text' => '>>',

                'prev_text' => '<<'

            ) );
            
            $paginacion = str_replace('page/1/', '', $paginacion);
            
            ?>
 
a este

PHP:
$paginacion = str_replace('page/1/', '', $paginacion);

agrega debajo

PHP:
echo $paginacion;
 
Muchísimas gracias a ambos!! Les debo la vida jeje, llevó todo el día con esto y no había forma, de verdad, MUCHAS GRACIAS 🙂
 
de nada para eso estamos 😉
 
Atrás
Arriba