私のカスタムクエリでは数多くのページネーションが必要です。そのため私は私の機能で、このスクリプトを使用します。カスタムクエリおよびページ投稿タイプでrel = "next"が頭に追加されない
function cor_rel_next_prev_pagination() {
global $wp_query;
$paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
//print_r(wp_count_pages());
if (get_previous_posts_link()) { ?>
<link rel="prev" href="<?php echo get_pagenum_link($paged - 1); ?>">
<?php
}
if (get_next_posts_link('',5)) { ?>
<link rel="next" href="<?php echo get_pagenum_link($paged + 1); ?>">
<?php
}
}
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
add_action('wp_head', 'cor_rel_next_prev_pagination');
そして今、私の問題を::
function wpbeginner_numeric_posts_nav() {
if(is_singular())
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if($wp_query->max_num_pages <= 1)
return;
$paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
$max = intval($wp_query->max_num_pages);
/** Add current page to the array */
if ($paged >= 1)
$links[] = $paged;
/** Add the pages around the current page to the array */
if ($paged >= 3) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if (($paged + 2) <= $max) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<div class="navigation"><ul>' . "\n";
/** Previous Post Link */
if (get_previous_posts_link()) {
printf('<li>%s</li>' . "\n", get_previous_posts_link(__('Previous Page','tkh').''));
add_filter('wpseo_prev_rel_link', get_previous_posts_link());
}
/** Link to first page, plus ellipses if necessary */
if (! in_array(1, $links)) {
$class = 1 == $paged ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1');
if (! in_array(2, $links))
echo '<li>…</li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort($links);
foreach ((array) $links as $link) {
$class = $paged == $link ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link);
}
/** Link to last page, plus ellipses if necessary */
if (! in_array($max, $links)) {
if (! in_array($max - 1, $links))
echo '<li>…</li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max);
}
/** Next Post Link */
if (get_next_posts_link())
printf('<li>%s</li>' . "\n", get_next_posts_link(__('Next Page','tkh').''));
echo '</ul></div>' . "\n";
}
は、私が使用するのrel =「次」とrel =「前」メタタグを追加するためにあなたがして見ます2番目のスクリプトget_next_posts_link( ''、5)。静的な数値(5)を関数に書くと、それは完全にうまくいく。しかし、私は動的に動作させることはできません(例:$ wp_query-> max_num_pages)。おそらく、$ wp_queryはwp_headアクションではinitではないからです。また、私はそれがpost_typeページで動作していないと思うので、私はwp_count_posts()を使用することはできません。だから主に:どのように働くことができない。アンディの提案?私は解決策を見つけた今の
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$news_events = array(
'numberposts' => -1,
'post_type' => ['news','event'],
'orderby' => 'date',
//'posts_per_page' => get_option('posts_per_page'),
'posts_per_page' => 1,
'paged' => $paged
);
$wp_query = new WP_Query($news_events);
if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post();
ソリューションをお持ちの場合は、質問の編集ではなく、回答として追加することができます。あなたはそれを最善の答えとして受け入れる必要はありません - 誰かが改善を見せてくれるのを待つかもしれません。 –