「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
リアルタイム再構築を利用したMT4.1用ページ分割(その2)
昨日に引き続いて、リアルタイム再構築プラグインを利用して、MT4.1標準テンプレートでページ分割を行う方法を紹介します。
今日は、メインページを分割する手順を解説します。
1.「メインページ」テンプレートのリアルタイム再構築を許可する
まず、「メインページ」のインデックステンプレートをリアルタイム再構築できるようにします。
ブログのメニューで「設定」→「プラグイン」を選び、プラグインの設定のページを開きます。
そして、RealtimeRebuildプラグインの設定を開き、「再構築を許可するテンプレート」の欄で「メインページ」を選びます。
なお、すでにリアルタイム再構築プラグインを使っていて、「メインページ」以外のテンプレートの再構築を許可している場合、Ctrlキーを押しながら「メインページ」テンプレートを選択し、既存の選択が外れないようにします。
↓「メインページ」テンプレートのリアルタイム再構築を許可する
2.「ページ選択」テンプレートモジュールの作成
次に、「ページ選択」というテンプレートモジュールを作成します。
このテンプレートモジュールは、分割後の個々のページへのリンクを出力するものです。
テンプレートモジュールを新規作成し、名前を「ページ選択」にします。
そして、テンプレートの内容として、以下を入力します。
<MTDivPagesIfMulti> <form id="page_sel" name="page_sel" action="get"> <div> <MTDivPagesIfPrevPage><a href="<$MTVar name="page_link"$>">先頭ページ</a>|<a href="<MTIf tag="DivPagesPrevPageNumber" eq="1"><$MTVar name="page_link"$><MTElse><$MTRealtimeRebuildPHPLink tmpl_name="$tmpl_name" tmpl_type="$tmpl_type" context="$context" expire_modified="1"$>&page=<$MTDivPagesPrevPageNumber$></MTIf>">前のページ</a>|</MTDivPagesIfPrevPage> <select name="page_num" onchange="if (this.value == 1) { location.href = '<$MTVar name="page_link"$>'; } else { location.href = '<$MTRealtimeRebuildPHPLink tmpl_name="$tmpl_name" tmpl_type="$tmpl_type" context="$context" expire_modified="1"$>&page=' + this.value; } return false;"> <MTDivPagesLoop all="1"> <option value="<$MTDivPagesNumber$>"<MTDivPagesIfCurPage> selected="selected"</MTDivPagesIfCurPage>><$MTDivPagesNumber$></option> </MTDivPagesLoop> </select>ページ/<$MTDivPagesCount$>ページ <MTDivPagesIfNextPage>|<a href="<$MTRealtimeRebuildPHPLink tmpl_name="$tmpl_name" tmpl_type="$tmpl_type" context="$context" expire_modified="1"$>&page=<$MTDivPagesNextPageNumber$>">次のページ</a>|<a href="<$MTRealtimeRebuildPHPLink tmpl_name="$tmpl_name" tmpl_type="$tmpl_type" context="$context" expire_modified="1"$>&page=<$MTDivPagesLastPageNumber$>">最終ページ</a></MTDivPagesIfNextPage> </div> </form> </MTDivPagesIfMulti>
3.「メインページ」テンプレートの書き換え
次に、「メインページ」のインデックステンプレートを書き換え、ページ分割できるようにします。
デフォルトのメインページのテンプレートには、以下のような部分があります。
<MTEntries> <$MTEntryTrackbackData$> <$MTInclude module="ブログ記事の概要"$> </MTEntries>
この部分を以下のように書き換えます。
なお、MTDivPagesInitタグの「per_page="10"」は、1ページあたり記事を10件ずつ出力することを意味します。
このモディファイアを書き換えることで、1ページあたりの記事数を変えることができます。
<MTSetVarBlock name="page_link"><$MTBlogURL$></MTSetVarBlock> <MTSetVar name="tmpl_name" value="メインページ"> <MTSetVar name="tmpl_type" value="index"> <MTSetVar name="context" value="0"> <MTDivPagesInit per_page="10" sort_order="descend"> <MTEntriesDivPages> <$MTEntryTrackbackData$> <$MTInclude module="ブログ記事の概要"$> </MTEntriesDivPages> <$MTInclude module="ページ選択"$>
書き換えが終わったら、「メインページ」テンプレートを保存して再構築します。
これでページ分割ができる状態になります。