「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグインβ版(その9)
「カテゴリ/フォルダ/ブログ記事/ウェブページを並べ替えるプラグイン」の第9回目として、ブログ記事等の連番の振り直しについて解説します。
今回で、このプラグインの使い方の解説は終わりです。
1.連番の振り直しが必要になるとき
昨日および一昨日の記事に書きましたが、以下のような時に連番に欠番が生じます。
- ブログ記事やウェブページを削除したとき
- MTの「ブログ記事(ウェブページ)の編集」のページで、ブログ記事(ウェブページ)の所属先のカテゴリ(フォルダ)を変更したとき
- カテゴリやフォルダを削除したとき
上記の状況で、MTEntryOrderNumber等のタグで連番を出力すると、欠番が生じているため、連番が飛びとびになります。
また、MTの「カテゴリ(フォルダ)の管理」のページでカテゴリ(フォルダ)の階層を変えた場合には、欠番が生じたり、連番が重複したりします。
連番が重複すると、前後のカテゴリ(フォルダ)が正しく出力されなくなるなど、問題が生じます。
これらのときには、連番を振り直すようにします。
2.連番の振り直し方
連番の振り直しは、プラグインの初期化の場合と似たような手順で行うことができます。
ブログのメニューで「ツール」→「プラグイン」を選んでプラグインの一覧を表示し、SuperSortプラグインの設定を開きます。
カテゴリまたはブログ記事の連番を振り直したい場合は、「カテゴリとブログ記事の並び順の初期化」のリンクをクリックします。
また、フォルダまたはウェブページの連番を振り直したい場合は、「フォルダとウェブページの並び順の初期化」のリンクをクリックします。
これで、初期化の設定を行うページが表示されます。
カテゴリ(フォルダ)の連番を振り直す場合は、「カテゴリ(フォルダ)の並び順」の欄で、「現状の並び順をなるべく維持」を選びます。
ブログ記事(ウェブページ)の連番を振り直す場合は、「ブログ記事(ウェブページ)の並び順」の欄で、「現状の並び順をなるべく維持」を選びます。
また、連番を振り直さない場合は、これらの欄で「並べ替えを行わない」を選びます。
たとえば、ブログ記事を削除しただけで、カテゴリは何も操作していないとします。
この場合、「ブログ記事の並び順」では「現状の並び順をなるべく維持」を選び、「カテゴリの並び順」では「並べ替えを行わない」を選びます。
3.連番の振り直し対象を限定する
ここまでの設定では、ブログ内のすべてのカテゴリ等の連番が振り直されます。
ただ、実際には、削除したブログ記事等に関連する連番だけを振り直せば十分です。
並べ替えの初期化の設定のページに、「基点のカテゴリ(フォルダ)」の欄があります。
その欄でカテゴリ(フォルダ)を指定すると、そのカテゴリ(フォルダ)より下の階層にあるすべてのカテゴリ(フォルダ)とブログ記事(ウェブページ)が、連番を振り直す対象になります。
さらに、「サブカテゴリ(フォルダ)を再帰的に処理する」のチェックをオフにすると、「基点のカテゴリ(フォルダ)」の直下の階層のカテゴリ(フォルダ)とブログ記事(ウェブページ)だけが連番を振り直す対象になり、それより深い階層は連番を振り直しません。
たとえば、以下のようにカテゴリとブログ記事の階層が以下のようになっているとします。
- カテゴリA
- サブカテゴリX
- サブカテゴリX1
- サブカテゴリX2
- ・・・
- ブログ記事X1
- ブログ記事X2
- ・・・
- サブカテゴリY
- サブカテゴリY1
- サブカテゴリY2
- ・・・
- ブログ記事Y1
- ブログ記事Y2
- ・・・
- ブログ記事A1
- ブログ記事A2
- ・・・
- サブカテゴリX
- カテゴリB
- ・・・
この状態で、「基点のカテゴリ」としてカテゴリAを選ぶと、サブカテゴリX/サブカテゴリY/ブログ記事A1/ブログ記事A2や、サブカテゴリX/Y以下のサブカテゴリとブログ記事(サブカテゴリX1やブログ記事X1など)が、連番を振り直す対象になります。
また、「基点のカテゴリ」としてカテゴリAを選び、「サブカテゴリを再帰的に処理する」のチェックをオフにすると、サブカテゴリX/サブカテゴリY/ブログ記事A1/ブログ記事A2の連番を振り直しますが、サブカテゴリX/Y以下のサブカテゴリとブログ記事の連番は振り直しません。