2017-05-20 17 views
0

最近のカスタム投稿にページ番号を追加する方法を知りたいですか?私は非常にワードプレスに新しいですが、私は毎日勉強しています。カスタム投稿にページ分割を追加する

このコードでは、最新の投稿の10倍を表示し、次の10倍の投稿を表示し、特定のページ1-10を選択できるページを追加したいと考えています。今、私はこのコードで私の最近の投稿をすべて一覧にしています。あまり前もってありがとう!

<h2>Recent Posts</h2> 
 
<table> 
 
<?php 
 
    $recent_posts = wp_get_recent_posts(array('post_type' => array('books', 'movies'),)); 
 
    foreach($recent_posts as $recent){ 
 

 
     echo '<tr><td>' . $recent["post_date"] . '</td><td>' . $recent["post_type"] . '</td><td><a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a> </td></tr> '; 
 
    } 
 
?> 
 
</table>

答えて

0

のstyle.css

/*numeric navigation starts*/ 
.navigation li a, 
.navigation li a:hover, 
.navigation li.active a, 
.navigation li.disabled { 
    color: #fff; 
    text-decoration:none; 
} 

.navigation li { 
    display: inline; 
} 

.navigation li a, 
.navigation li a:hover, 
.navigation li.active a, 
.navigation li.disabled { 
    background-color: #6FB7E9; 
    border-radius: 3px; 
    cursor: pointer; 
    padding: 12px; 
    padding: 0.75rem; 
} 

.navigation li a:hover, 
.navigation li.active a { 
    background-color: #3C8DC5; 
} 
/*numeric navigation finish*/ 

に次の行を追加します。そして、あなたはnavgationを追加したい場合は、以下を追加します

function content_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()); 

/** 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()); 

echo '</ul></div>' . "\n"; 

} 

をのfunctions.phpするために、次のコードを追加します。 archive.php、categoryなどの異なるページテンプレートで.phpとそのインデックスページ上のページネーションが必要な場合はindex.phpで必須です。

<?php content_nav(); ?> 
+0

このコードを使用しても何も起こりませんか? :/ – Molle

+0

あなたは '<?php content_nav();を呼び出しましたか? ?> 'あなたのindex.phpに?その私の仕事は素晴らしいですし、それはあなたも疑いなしに動作するはずです。 –

関連する問題