Problema de redireccionamiento al pulsar enlace de índice

  • Autor Autor luchozero
  • Fecha de inicio Fecha de inicio

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);
 

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 😉