先日のリニューアルでのデグレード。
トラックバックが表示されなくなってしまっていた。
WordPress Bootstrapには、標準では実装されてないんだね・・・。
と、言うわけでcomment.phpをカスタマイズして、トラックバックを表示するようにしてみた。
実装したのはこんな感じ。
[code lang=”php” line=”1″]
paginate_linksって言う
ページナビゲーションを生成する処理があるんだけれど、
WordPress Bootstrap(と、言うよりはベースになったbonesか?)では、
オリジナルのページナビゲーションを実装している様子。
デザイン的に統一するんなら、そっちをパクった参考にしたほうがいいよね。
って、事で長い実装になってしもうた。
[code lang=”php” line=”1″]
posts_per_page;
$numposts = $archive_query->found_posts;
$max_page = $archive_query->max_num_pages;
if ( $numposts <= $posts_per_page ) { return; }
if(empty($paged) || $paged == 0) {
$paged = 1;
}
$pages_to_show = 3;
$pages_to_show_minus_1 = $pages_to_show-1;
$half_page_start = floor($pages_to_show_minus_1/2);
$half_page_end = ceil($pages_to_show_minus_1/2);
$start_page = $paged - $half_page_start;
if($start_page <= 0) {
$start_page = 1;
}
$end_page = $paged + $half_page_end;
if(($end_page - $start_page) != $pages_to_show_minus_1) {
$end_page = $start_page + $pages_to_show_minus_1;
}
if($end_page > $max_page) {
$start_page = $max_page – $pages_to_show_minus_1;
$end_page = $max_page;
}
if($start_page <= 0) {
$start_page = 1;
}
echo '
- ‘.””;
- ‘.$first_page_text.’
- ‘ . $prevposts . ‘
- ← Previous
- ‘.$i.’
- ‘.$i.’
- Next →
- ‘ . $nextposts . ‘
- ‘.$last_page_text.’
//first
if ($paged > 1) {
$first_page_text = “«”;
echo ‘
‘;
}
//previous
$prevposts = get_previous_posts_link(‘← Previous’);
if ($prevposts) {
echo ‘
‘;
} else {
echo ‘
‘;
}
//num
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $paged) {
echo '
‘;
} else {
echo ‘
‘;
}
}
//next
$nextposts = ‘Next →’ . ‘‘;
if ($paged == $max_page) {
echo ‘
‘;
} else {
echo ‘
‘;
}
//last
if ($end_page < $max_page) {
$last_page_text = "»";
echo '
‘;
}
echo ‘
‘.””;
?>
[/code]
本当はpaginate_linksみたいに汎用的に作った方がいいんだろうけどね。
今んとこ、サイトマップ以外での用途が思いつかなかったから、
そのままサイトマップ用のページに記述してもうた。
その内暇ができたら、function.phpに移そう。
コメント