Ich habe einen Code-Schnipsel zu bauen benutzerdefinierte Paginierung verwendet:Benutzerdefinierte Paginierung nicht für benutzerdefinierte Post-Typen Seite angezeigt
<?php
if (! function_exists('procare_paging_nav')) :
/**
* Display navigation to next/previous set of posts when applicable.
*
* @return void
*/
function procare_paging_nav() {
// Don't print empty markup if there's only one page.
if ($GLOBALS['wp_query']->max_num_pages < 2) {
return;
}
$paged = get_query_var('paged') ? intval(get_query_var('paged')) : 1;
$pagenum_link = html_entity_decode(get_pagenum_link());
$query_args = array();
$url_parts = explode('?', $pagenum_link);
if (isset($url_parts[1])) {
wp_parse_str($url_parts[1], $query_args);
}
$pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link);
$pagenum_link = trailingslashit($pagenum_link) . '%_%';
$format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : '';
$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit('page/%#%', 'paged') : '?paged=%#%';
// Set up paginated links.
$links = paginate_links(array(
'base' => $pagenum_link,
'format' => $format,
'total' => $GLOBALS['wp_query']->max_num_pages,
'current' => $paged,
'mid_size' => 2,
'add_args' => array_map('urlencode', $query_args),
'prev_text' => '<i class="fa fa-chevron-left"></i>',
'next_text' => '<i class="fa fa-chevron-right"></i>',
'type' => 'list',
));
if ($links) :
?>
<nav class="navigation paging-navigation" role="navigation">
<?php echo $links; ?>
</nav><!-- .navigation -->
<?php
endif;
}
endif;
?>
ich die Funktion für Blog-Beiträge verwendet und die Paginierung für home.php Seite erschien. Die Seitennummerierung wird jedoch nicht auf der Seite für benutzerdefinierte Posttypen angezeigt. Ich habe einen benutzerdefinierten Beitragstyp namens "ervaringen" erstellt.
Und meiner Seite-ervaringen.php:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$partnersLoop = new WP_Query(array('post_type' => 'ervaringen', 'orderby' => 'post_id', 'posts_per_page' => 10, 'paged' => $paged));
while($partnersLoop->have_posts()): $partnersLoop->the_post();
?>
<div class="post press-photo">
<div class="image">
<?php the_post_thumbnail(); ?>
</div><!-- image -->
<div class="content">
<h5><?php the_title(); ?></h5>
<p><?php the_excerpt(); ?></p>
</div><!-- content -->
</div><!-- .press-photo -->
<?php endwhile; ?>
<?php procare_paging_nav(); ?>
<?php wp_reset_query(); ?>
Also, wenn jemand kann mir helfen, indem sie sagen, was ich falsch mache, dass ich die Paginierung auf meiner benutzerdefinierten Post-Seite fehle.
Welche anderen Lösungen, die ich versucht habe und nicht für mich arbeiten:
die Funktion Ändern benutzerdefinierten als Argument Abfrage zu übergeben, anstatt globale Abfrage zu verwenden.
<?php
if (! function_exists('procare_paging_nav')) :
function procare_paging_nav($partnersLoop) {
// Don't print empty markup if there's only one page.
if ($partnersLoop->max_num_pages < 2) {
return;
}
$paged = get_query_var('paged') ? intval(get_query_var('paged')
$pagenum_link = html_entity_decode(get_pagenum_link());
$query_args = array();
$url_parts = explode('?', $pagenum_link);
if (isset($url_parts[1])) {
wp_parse_str($url_parts[1], $query_args);
}
$pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link);
$pagenum_link = trailingslashit($pagenum_link) . '%_%';
$format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : '';
$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit('page/%#%', 'paged') : '?paged=%#%';
// Set up paginated links.
$links = paginate_links(array(
'base' => $pagenum_link,
'format' => $format,
'total' => $partnersLoop->max_num_pages,
'current' => $paged,
'mid_size' => 2,
'add_args' => array_map('urlencode', $query_args),
'prev_text' => '<i class="fa fa-chevron-left"></i>',
'next_text' => '<i class="fa fa-chevron-right"></i>',
'type' => 'list',
));
if ($links) :
?>
<nav class="navigation paging-navigation" role="navigation">
<?php echo $links; ?>
</nav><!-- .navigation -->
<?php
endif;
}
endif;
?>
und in Seiten ervaringen.php
procare_paging_nav($partnersLoop);
Vielen Dank für Ihre Zeit.
change 'posts_per_page' => -1 und versuchen –
bereits getan haben. Aber das hat nicht alle Beiträge auf der gleichen Seite gelöst und angezeigt. –
Randnotiz (aka nicht das Update Sie suchen) Sie brauchen nicht 'zu verwenden __()' um Ihre prev_text/next_text Argumente, da Sie nur Markup vorbei statt übersetzbaren Text für Symbole. –