カスタム投稿のアーカイブ一覧ページの中に、ページャーを独自のHTMLで出力したいのですがカスタマイズの方法がわかりません。
現状のソースコード
php
1function pagenation($limit = NULL, $post_typed = 'posts') { 2 global $wp_rewrite; 3 global $paged; 4 global $wp_query; 5 6 // 検索条件 7 $query = array(); 8 if ($limit != NULL) { 9 $query['posts_per_page'] = $limit; 10 } 11 if (count($query) != 0) { 12 $wp_query->query($query); 13 } 14 15 $wp_query->query(array( 16 'post_type' => $post_typed, 17 )); 18 $paginate_base = get_pagenum_link(); 19 20 if( strpos( $paginate_base, '?' ) || !$wp_rewrite->using_permalinks() ) { 21 $paginate_format = ''; 22 $paginate_base = add_query_arg( 'paged', '%#%' ); 23 } else { 24 $paginate_format = (substr( $paginate_base, -1, 1 ) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged'); 25 $paginate_base .= '%_%'; 26 } 27 28 29 if( $paged < 2 ) { 30 $paged = 1; 31 } 32 $args = array( 33 'base' => $paginate_base, 34 'format' => $paginate_format, 35 'total' => $wp_query->max_num_pages, 36 'current' => $paged, 37 'show_all' => false, 38 'prev_next' => true, 39 'prev_text' => '前のページへ', 40 'next_text' => '次のページへ', 41 'type' => 'array', 42 ); 43 $pagenate_array = paginate_links($args); 44 45 // 配列がある場合のみ 46 if (is_array($pagenate_array) == TRUE) { 47 $pagenate .= '<div class="p-pager-list"><ul class="p-pager-list__number c-list">'; 48 foreach ($pagenate_array as $key => $value) { 49 50 if (preg_match('/current/', $value) == TRUE) { 51 $class = ''; 52 } 53 else { 54 $class = ''; 55 } 56 57 // $value = "<li class="{$class} p-pager-list__arrow">".$value.'</li>'; 58 // リンク追加 59 $pagenate .= $value; 60 } 61 62 $pagenate .= '</ul></div>'; 63 echo $pagenate; 64 } 65} 66
出力されるHTML
HTML
1<div class="p-pager-list"> 2<ul class="p-pager-list__number c-list"> 3<a class="prev page-numbers" href="/">前のページへ</a> 4<a class="page-numbers" href="/">1</a><span aria-current="page" class="page-numbers current">2</span> 5<a class="page-numbers" href="/">3</a> 6<a class="page-numbers" href="/">4</a> 7<a class="next page-numbers" href="">次のページへ</a> 8</ul> 9</div>
ul liの様な形で出力される様に変更したい
HTML
1<div class="p-pager-list"> 2<ul class="p-pager-list__number c-list"> 3<li class="a"><a class="prev page-numbers" href="/">前のページへ</a></li> 4<li class="a"><a class="page-numbers current" href="/">2</a></li> 5<li class="a"><a class="page-numbers" href="/">3</a></li> 6<li class="a"><a class="next page-numbers" href="/">前のページへ</a></li> 7</ul> 8</div>
上記の様にul liタグの形で出力される様にしたいのですが、
どういったコードを入れたらいいのか検討がつきません。
「'type' => 'array',」を「'type' => 'list',」に変更しましたところ、
真っ白になり何も表示されなくなりました。。
お力をお貸しいただきたいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー