質問編集履歴
3
情報追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,6 +65,11 @@
|
|
65
65
|
|
66
66
|
|
67
67
|
### ページャーについて
|
68
|
+
記事とプルダウン(ターム)、それぞれ投稿タイプごとに所有するものが表示されるようになりましたが、ページャーがそれごとに生成されません。
|
69
|
+
恐らくNEWS以外のページの記事も合算されてページャーが生成されています。
|
70
|
+
例えば1ページ10の記事が表示されるとして、NEWS記事は5、他投稿タイプで30の記事がある場合、
|
71
|
+
NEWSで4ページ分のページャーが生成されてしまいます。
|
72
|
+
(表示されている記事は5つのみ、2ページ目以降は記事はなくページャーのみ)
|
68
73
|
```php
|
69
74
|
//functions.phpの内容です
|
70
75
|
|
2
説明追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,7 +65,8 @@
|
|
65
65
|
|
66
66
|
|
67
67
|
### ページャーについて
|
68
|
+
```php
|
68
|
-
|
69
|
+
//functions.phpの内容です
|
69
70
|
|
70
71
|
<?php //ページャー部分
|
71
72
|
function pagination( $pages, $paged, $range = 2, $show_only = false ) {
|
1
コードの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -61,4 +61,98 @@
|
|
61
61
|
NEWSのアーカイブページのプルダウンでは、NEWSの記事が該当するタームのみ表示させるには、どのようにすればよいでしょうか。
|
62
62
|
|
63
63
|
うまく伝わるかわかりませんが、情報不足な点があったらお知らせください。
|
64
|
-
よろしくお願いいたします。
|
64
|
+
よろしくお願いいたします。
|
65
|
+
|
66
|
+
|
67
|
+
### ページャーについて
|
68
|
+
```functions.php
|
69
|
+
|
70
|
+
<?php //ページャー部分
|
71
|
+
function pagination( $pages, $paged, $range = 2, $show_only = false ) {
|
72
|
+
$pages = ( int ) $pages;
|
73
|
+
$paged = $paged ?: 1;
|
74
|
+
$text_first = "<<";
|
75
|
+
$text_before = "<";
|
76
|
+
$text_next = ">";
|
77
|
+
$text_last = ">>";
|
78
|
+
if ( $show_only && $pages === 1 ) {
|
79
|
+
echo '<div class="pager"><ul class="pager-list"><li><a class="current" href="">1</a></li></ul></div>';
|
80
|
+
return;
|
81
|
+
}
|
82
|
+
if ( $pages === 1 ) return; // 1ページのみで表示設定もない場合
|
83
|
+
if ( 1 !== $pages ) {
|
84
|
+
//2ページ以上の時
|
85
|
+
echo '<div class="pager"><ul class="pager-list">';
|
86
|
+
// echo '<div class="pagination"><span class="page_num">Page ', $paged ,' of ', $pages ,'</span>';
|
87
|
+
//現在のページ数などを表示する場合はこの上のコメントアウトを外す。
|
88
|
+
if ( $paged > $range + 1 ) {
|
89
|
+
// 「最初へ」 の表示
|
90
|
+
echo '<li class="prev-area"><a href="', get_pagenum_link(1) ,'" class="prev">', $text_first ,'</a></li>';
|
91
|
+
}
|
92
|
+
if ( $paged > 1 ) {
|
93
|
+
// 「前へ」 の表示
|
94
|
+
echo '<li class="prev-area"><a href="', get_pagenum_link( $paged - 1 ) ,'" class="prev">', $text_before ,'</a></li>';
|
95
|
+
}
|
96
|
+
for ( $i = 1; $i <= $pages; $i++ ) {
|
97
|
+
if ( $i <= $paged + $range && $i >= $paged - $range ) {
|
98
|
+
// $paged +- $range 以内であればページ番号を出力
|
99
|
+
if ( $paged === $i ) {
|
100
|
+
echo '<li><a class="current" href="">', $i ,'</a></li>';
|
101
|
+
} else {
|
102
|
+
echo '<li><a href="', get_pagenum_link( $i ) ,'">', $i ,'</a></li>';
|
103
|
+
}
|
104
|
+
}
|
105
|
+
}
|
106
|
+
if ( $paged < $pages ) {
|
107
|
+
// 「次へ」 の表示
|
108
|
+
echo '<li class="next-area"><a href="', get_pagenum_link( $paged + 1 ) ,'" class="next">', $text_next ,'</a></li>';
|
109
|
+
}
|
110
|
+
if ( $paged + $range < $pages ) {
|
111
|
+
// 「最後へ」 の表示
|
112
|
+
echo '<li class="next-area"><a href="', get_pagenum_link( $pages ) ,'" class="next">', $text_last ,'</a></li>';
|
113
|
+
}
|
114
|
+
echo '</ul></div>';
|
115
|
+
}
|
116
|
+
}
|
117
|
+
?>
|
118
|
+
|
119
|
+
```
|
120
|
+
|
121
|
+
```php
|
122
|
+
|
123
|
+
<ul>
|
124
|
+
<?php
|
125
|
+
$paged = get_query_var('paged') ? get_query_var('paged') : 1 ;
|
126
|
+
$term = wp_get_object_terms($post->ID, 'items');
|
127
|
+
$args = array(
|
128
|
+
'post_type' => 'news',
|
129
|
+
'taxonomy' => 'items',
|
130
|
+
'term' => $term[0]->slug,
|
131
|
+
'posts_per_page' => 7,
|
132
|
+
'paged' => $paged
|
133
|
+
);
|
134
|
+
$custom_query = new WP_Query( $args );
|
135
|
+
if ( $custom_query->have_posts() ) :
|
136
|
+
while ( $custom_query->have_posts() ) :
|
137
|
+
$custom_query->the_post();
|
138
|
+
?>
|
139
|
+
<!-- ▽ ループ開始 ▽ -->
|
140
|
+
<li>
|
141
|
+
記事内容
|
142
|
+
</li>
|
143
|
+
<!-- △ ループ終了 △ -->
|
144
|
+
|
145
|
+
<?php endwhile;
|
146
|
+
endif;
|
147
|
+
wp_reset_postdata();
|
148
|
+
?>
|
149
|
+
</ul>
|
150
|
+
<!-- ページネーション -->
|
151
|
+
<?php
|
152
|
+
if ( function_exists( 'pagination' ) ) :
|
153
|
+
pagination( $wp_query->max_num_pages, get_query_var( 'paged' ) );
|
154
|
+
endif;
|
155
|
+
?>
|
156
|
+
|
157
|
+
|
158
|
+
```
|