Movable Type 3.2ご利用の方は、以下のページをご参照の上、最新版のプラグインをご利用ください。 ・エントリーの投稿日を公開日に自動変更する(MT3.2用) http://www.h-fj.com/blog/archives/2005/11/09-130618.php また、Movable Type 3.1xでプラグインをご利用になりたい方は、以下のソース部分をコピーしてお使いください。 ただし、「エントリーの読み込み」の機能でエントリーをインポートする際には、このプラグインをはずしておいてください(インポートしたエントリーの日付が変わってしまうため)。 −−−−−↓この下の行からコピー−−−−− package MT::Plugin::ReleaseDate; use strict; use MT; use MT::Plugin; use MT::Entry; # show plugin information to main menu my $plugin = MT::Plugin->new; $plugin->name('Release Date 0.02'); $plugin->description('Update created date to released date when entry is released.'); MT->add_plugin($plugin); # add callback MT::Entry->add_callback("pre_save", 0, $plugin, \&releasedate); # main sub releasedate { my ($eh, $entry) = @_; my $ischangedate = 0; # if entry is new if (!$entry->exists) { # if entry is to release if ($entry->status == MT::Entry::RELEASE()) { # set flag of changing date $ischangedate = 1; } } # if entry exists else { # load old entry my $oldentry = MT::Entry->load($entry->id) or $eh->error('Old entry does not exist.'); # if status is changed from hold to release if ($entry->status == MT::Entry::RELEASE() && $oldentry->status == MT::Entry::HOLD()) { $ischangedate = 1; } } # if flag($ischangedate) is true if ($ischangedate) { my $text = $entry->text; # no change if ($text =~ /#nc#/s) { $text =~ s/#nc#//s; $entry->text($text); } # change created_on to released date else { my ($sec, $min, $hour, $day, $mon, $year) = localtime; my $released_on = sprintf("%04d%02d%02d%02d%02d%02d", $year + 1900, $mon + 1, $day, $hour, $min, $sec); $entry->created_on($released_on); } } } 1; −−−−−↑この上の行までコピー−−−−−