MovableType

アーカイブマッピング

MTを「ブログ」としてではなく、「CMS」として利用する場合、ディレクトリ名とファイル名は自由に設定したい。

ところが、何の設定もしていないデフォルトの状態で新規ページを作成すると、新規で作成したファイルは作成された「年/月/」フォルダ内に格納される。たとえば、2008年1月1日に作成したファイルであれば、「/2008/1/」に格納される。

また、そのファイル名は自動で生成される。たとえば、タイトルが「mtについて」であれば、そのファイル名は「mt.html」。次に作成したページタイトルが「mtのこと」であれば、「mt_1.html」。タイトルにアルファベットがなければ、「post_1.html」のように決定される。

ディレクトリ名とファイル名をカスタマイズする

では、ディレクトリ名とファイル名は自由に設定するにはどうしたらよいのか?その設定方法を紹介(バージョン3.34に限定。バージョン4では設定方法が異なる)。

MT管理画面(メニュー部)

「設定」を選択し、「管理」タブを選択(「管理」タブが表示されていない場合は、「詳細モードに切り替え」を選択)する。

設定選択時のMT管理画面

表示された画面を下にスクロールすると「アーカイブ・マッピング」が見つかるが、この値を設定することで、(ディレクトリ構造を踏まえた)ファイル名を決定することができる。

出力フォーマットを変更する

出力フォーマットのプルダウンメニューから「カスタマイズする」を選択し、変更する。

「エントリー」アーカイブ
変更前(デフォルト) yyyy/mm/entry_basement.html
変更後 %c/%f
補足
  • 「%c」は、カテゴリーで登録したフォルダ名をトップから階層通りに表示する。「category/sub_category/」と同意。
  • 「%f」は、エントリーで任意で指定したファイル名(指定していないときはMTで自動で任意のファイル名)。「entry_basement.拡張子」と同意。

エントリーIDをファイル名にする

ファイル数が多くなれば、1ページごとにファイル名をラベリングするのも用意ではない。同ファイル名を同ディレクトリーに保存してしまうと、エラーメッセージが表示されることなく上書きされてしまう。
そうした事態を防ぐには、エントリーID(エントリーした順番に付けられるID)をファイル名にするのがいい。そうすれば、ファイル名を個別にラベリングする手間とファイル名が重なる心配もない。

「エントリー」アーカイブ
変更後 %c/<$MTEntryID pad="1"$>.html

ちなみに「 pad="1"」とは、例えば12番目に登録した内容であれば、そのファイル名を「000012.拡張子」となり、「 pad="0"」と設定していると、ファイル名は「12.拡張子」となる。

ただし、気をつけたいのが、MTをバージョンアップする場合だ。フォーマットの部分を新しい環境に移し、現状の登録したファイルを全てエクスポート(抽出)し、バージョンアップした環境にインポート(挿入)すれば、手っ取り早く移管ができるのだが、その際、エントリーIDが変わってしまうことがある。つまり、ファイル名は変更されてしまうのだ。これを回避するためには、面倒でも個別にファイル名を指定するようにしたい。

最近の記事

インタラクションデザイン

5年くらい前に購入した書籍「インタラクションデザイン」。この書籍内ではたくさんの事例が紹介されている。残念ながらその多くは現在閲覧することができなくなっていた・・・

デザイン

Advanced Custom Fields 名前を変更して、データも反映させる

WordPressを自作する上でもはや欠かせないプラグインの一つが、「Advanced Custom Fields」。 名前を変更しようと思って、Wor・・・

WordPress

配列の重複を削除する

配列の場合 /** * 配列の重複を削除する * * @param {array} ary* * @return {array} 処理後のary・・・

JavaScript

MAMP を 5.7 から 6.2 にアップデートした

5年以上前と比べると、アップデートが簡単で驚く。とくに記事にするまでもないと思いつつ、一応備忘録。 インストールすると、既存のディレクトリはそのままに別・・・

MAMP

Briefly unavailable for scheduled maintenance. Check back in a minute. → . maintenance を削除

プラグインを更新中に、誤って、違うページにアクセスしまいました。すると、管理画面だけでなく、公開中のすべての画面が「briefly unavailable f・・・

WordPress

GulpでERRが出てテンパった → gyp: No Xcode or CLT version detected! → PostCSS plugin autoprefixer requires PostCSS 8

Gulp。いつもは正常に動いている環境をそのままコピーして再利用するようにしている。そうすることで、案件ごとに毎回環境作りをする手間を省くことができ、何よりG・・・

制作効率化

ビジネス前提ワークシート

書籍「LEAN UX リーン思考によるユーザエクスペリエンス・デザイン」から抜粋。 「前提の宣言」「MVPの作成」「実験の実行」「フィードバックとリサー・・・

知識編

リーン思考のUXデザイン

LEAN UX は、コラボレーションと部門/領域横断的な手法によって、製品の本質を素早く明らかにするための実践的手法であり、これによって文書への過度な依存を減・・・

知識編

ES6(ES2015)の主な変更点

オブジェクト指向 クラス定義 JavaScriptは厳密にはクラスがない、プロトタイプベースのオブジェクト指向言語。ES6でclass構文が導入さ・・・

JavaScript

JavaScriptスタイルガイド

書籍「メンテナブルJavaScript」と Google JavaScript Style Guide 和訳 を参考に自分なりのJavaScriptスタイルガ・・・

JavaScript

人気の記事

WP_Queryを使って絞り込み検索するのにコレは便利!

めっちゃ参考になるページを見つけた。 絞り込みをするたびに色々ググっていたが、これがあればほとんどのことが解決できそうな気がする。 参考: これは便利!Word・・・

WordPress

overflowをautoにした要素のスクロール位置を変更する → scrollTop scrollLeft

まずはサンプル。 これは、overflowをautoにした要素のスクロール位置を変更するサンプルです。 これは、overflowをautoにした要素のスクロ・・・

JavaScript

http://localhost:8888/ → http://localhost/

http://localhost:8888/ での参照ではなく、http://localhost/ で参照できるようにします。 MAMPの設定を変更する M・・・

MAMP

アーカイブページでカスタムフィールドやタクソノミーで絞り込みした状態でリスト表示する

<?php $args = array( 'paged' => 1, 'posts_per_page' => 20, 'post・・・

WordPress

iframeの高さを自動調整する

iframeで呼び出した際、iframe自体はスクロールさせずに高さを取得してiframe全体を表示させます。 サンプル:iframeの高さを自動調整するデモ・・・

JavaScript

イラストレーターでレイヤーごとにPNGで書き出す

【2020年07月13日】 macOS Catalina(10.15.5) / Adobe iLLustrator 2020(24.2.1) にて動作確認済・・・

Illustorator

カウントアップ、カウントダウンするJavaScript

ポイントを使ったり、増やしたりしたときに、結果のポイント数に差し替えるのではなくて、カウントアップしたり、カウントダウンして動的に動かそうと思って作ってみた。・・・

JavaScript

WordPressのカテゴリー一覧ページでカテゴリー名とスラッグを取得する → get_queried_object()

やりたいこと カテゴリー一覧ページで、そのカテゴリー一覧ページに属する記事一覧を取得するためにループさせるのとは別に、タイトルやカテゴリー別にデザインを変・・・

WordPress

MAMPの日時(タイムゾーン)を変更する

MAMPを使用していて、日時の情報を制御しようとしたとき、取得している日時が日本時間ではないことに気がついた。 時差を計算してPHPでプログラミングしていたが、・・・

MAMP

管理画面のカスタム投稿一覧で並び順を変更する

WordPressの管理画面。「投稿」や「固定ページ」の一覧は、公開日順に並んでいる。ところが、カスタム投稿を追加した場合、公開順ではなく名前順に並んでいること・・・

WordPress

WEB制作アプリケーションMovableTypeアーカイブマッピング | シンプルシンプルデザイン