Movable Typeで記事IDの桁数を4桁にする

記事IDを使ったアーカイブマッピングを設定する際、桁数を揃えようと思うと標準で用意されている項目だと6桁(pad=1)のみになります。
この桁数を4桁でページ生成を行いたいということがあったので、対応方法をメモしておきます。

サンプルコード

まず桁数の制御ですが、6桁の記事IDを取得した上で、正規表現で前の2桁を除去する形で対応します。
その際、桁数が5桁以上になると値が重複してしまうため、値が6桁(100000以上)の場合はそのまま使用、5桁(10000以上)の場合は前の1桁のみ除去、4桁以下の場合は前の2桁を除去する形で対応します。

<mt:If tag="ContentID" ge="100000">
<mt:ContentID pad="1">
<mt:ElseIf ge="10000">
<mt:ContentID pad="1" regex_replace="/^0/","">
<mt:Else>
<mt:ContentID pad="1" regex_replace="/^0{2}/","">
</mt:If>

上記コードを1行にした上で、アーカイブマッピングの設定を行います。

post-<mt:If tag="ContentID" ge="100000"><mt:ContentID pad="1"><mt:ElseIf ge="10000"><mt:ContentID pad="1" regex_replace="/^0/",""><mt:Else><mt:ContentID pad="1" regex_replace="/^0{2}/",""></mt:If>.html

これで試してみると、4桁の記事IDでページの生成ができました。

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2025年2月
 1
2345678
9101112131415
16171819202122
232425262728