📃

【Movable Type】記事のタイトル欄に作成日の日付を自動挿入する

2024/12/13に公開

概要

記事投稿時、タイトル欄にあらかじめ記事作成日の日付を自動挿入するコードです。
MTAppjQueryを利用して実装しています。

コード

(function($) {

  //投稿画面タイトルにデフォルトでその日の日付を入れる
  const fieldTitle = $('#title');
  if(fieldTitle.val() === '') { //空の場合、日付生成
    const date = new Date();
    const year = date.getFullYear().toString();
    const month = `0${date.getMonth() + 1}`.slice(-2);
    const day = `0${date.getDate()}`.slice(-2);
    const labelText = `${year}${month}${day}`;
    fieldTitle.val(labelText).text();
  }

})(jQuery);

新規作成時、記事のタイトルに日付がYYYYMMDDの書式で自動挿入されます。編集時などですでにタイトルに何かしら文字が入力されていれば、挿入されません。

コンテンツタイプの場合は、const fieldTitle = $('#title');の部分を適宜書き換えます。
筆者はコンテンツタイプでテキストフィールドを「タイトル」として使っていて、そこに日付を自動挿入するようにしています。以下はその部分のコードです。

const fieldTitle = $('#content_data div[data-mtapp-field-label="タイトル"] input');

以上です。

Discussion