Un utente ha chiesto 👇
Ciao
Ho un’area in ACF dove posso scegliere tra diverse categorie di lavoro. In base a questa opzione, WP aggiunge tutti i post di questa categoria a una pagina. Ora voglio aggiungere una pagina numerica ma non riesco ancora a trovare una soluzione, ho provato diversi metodi dai tutorial online. Qualcuno potrebbe darmi un suggerimento su come ottenere questo risultato? Ecco il codice mentre aggiungo post:
<?php elseif ($section['content_type'] == 'News'):?>
<?php
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'news',
'posts_per_page' => 5,
);
$arr_posts = new WP_Query($args);
if ($arr_posts->have_posts()):
while ($arr_posts->have_posts()):
$arr_posts->the_post()
?>
<div class="col-xs-12 no-padding entry">
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4 no-padding">
<?php
if (has_post_thumbnail()):
the_post_thumbnail('medium', array(
'class' => 'img-responsive news-img'
));
endif;
?>
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<header class="entry-header">
<p class="entry-date">
<?php echo get_the_date('d.m.Y'); ?>
</p>
<h1 class="entry-title">
<a href="<?php the_permalink(); ?>"><?phpthe_title(); ?></a>
</h1>
</header>
<div class="entry-content">
<?phpthe_excerpt(); ?>
</div>
</div>
</article>
</div>
<?php endwhile ?>
<?php endif; ?>
(@jcastaneda)
2 anni fa
Ciao,
Hai visto l’utilizzo della funzione the_posts_navigation()
https://developer.wordpress.org/reference/functions/the_posts_navigation/
(@bcworkz)
2 anni fa
Penso che avresti problemi con the_posts_navigation () perché dipende dalla query principale per ottenere i parametri. Poiché stai eseguendo un problema personalizzato, ti consiglio di usarlo paginate_links()
. Assicurati di fornire un argomento “completo” accurato, l’impostazione predefinita per questo non sarà corretto.
https://developer.wordpress.org/reference/functions/paginate_links/
Lanciatore di thread
(@nenosw)
2 anni fa
Grazie per l’input, ma ancora non riesco a farlo funzionare. Sono riuscito ad aggiungere la pagina, ma non funziona correttamente. Mostra gli stessi post su ogni pagina, sempre i 2 più recenti (o qualunque numero io metta come post per pagina). Anche la navigazione difettosa, non riesco a fare clic sulla pagina 1, pagina 2, ecc.
Che cosa sto facendo di sbagliato?
<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'news',
'posts_per_page' => 2,
'paged' => $paged,
);
$arr_posts = new WP_Query( $args );
if ($arr_posts->have_posts()) :
while ($arr_posts->have_posts()) : $arr_posts->the_post()
?>
<div class="col-xs-12 no-padding entry">
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4 no-padding">
<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail('medium', array( 'class' => 'img-responsive news-img' ));
endif;
?>
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<header class="entry-header">
<p class="entry-date">
<?php echo get_the_date( 'd.m.Y' ); ?>
</p>
<h1 class="entry-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h1>
</header>
<div class="entry-content">
<?php the_excerpt(); ?>
</div>
</div>
</article>
</div>
<?php endwhile ?>
<?php
$total_pages = $arr_posts->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« prev'),
'next_text' => __('next »'),
'add_args' => array()
));
}
?>
<?php else :?>
<h3><?php _e('404 Error: Not Found', ''); ?></h3>
<?php endif; wp_reset_postdata();?>
(@bcworkz)
2 anni fa
Presumo che il tuo codice sia su un modello di pagina di qualche tipo. Ho inserito il tuo codice in un modello di pagina sul mio sito. Ho appena cambiato il nome della categoria. Tutto ha funzionato bene. Ogni numero di pagina cliccato nella sequenza del numero di pagina ha prodotto le pagine previste con i post più vecchi. Next / Prev ha funzionato come previsto.
Se sei a pagina 1, il link 1 di solito non è cliccabile. Nessun punto, sei già sulla pagina. La pagina 2 porta al collegamento successivo »Quando è su 2, i 2 numeri non possono essere cliccati e quello successivo» pagina 3 continua.
Dal momento che il tuo codice funziona per me, non sono sicuro di cosa c’è che non va nel tuo sito. Prova a svuotare la cache del browser, potrebbe contenere dati obsoleti. Altrimenti, qualche altro codice sembra interferire con le query in modo che i risultati corretti non portino ai risultati attesi.
Was this helpful?
0 / 0