概要: wordpres用の公開期限を設定できるプラグイン「Post Expirator」を一括編集に対応させる方法を述べる。
Plugin Name: Post Expirator Version: 2.3.1.1 で確認
post-expirator.phpの1716行目のコメントアウトされているあたりを以下のように変更する。
//1711行目から
foreach( $post_ids as $post_id ) {
// Only update posts that already have expiration date set. Ignore Others
$ed = get_post_meta($post_id,'_expiration-date',true);
if ($ed) {
$opts = get_post_meta($post_id, '_expiration-date-options', true);
//_scheduleExpiratorEvent($post_id,$ts,$opts);
_scheduleExpiratorEvent((int)$post_id,$ts,$opts);
}
}
編集とクイック編集だとpost_idをintで渡しているのに一括編集時(bulk)だとstrで渡しているっぽい。
wp_scheduleの中ではintとstrは別物として扱うが どちらも正しくスケジュール動作してしまうので二重登録されるおそれがある。 というか、なった。 気をつけよう。
非公式な修正なのでアップデートで上書きされます。ご注意。