私はWordPressが初めてなので、アップグレードが必要なときに自分自身にEメールを送信するようにテーマをカスタマイズしようとしています。プラグインはWordPressのサイトごとにインストールする必要があるため、プラグインを使用しないでください。以下のコードは update notifier プラグインに基づいています。
add_action('check_updates_daily', 'check_updates');
function check_updates_daily() {
if (!wp_next_scheduled('check_updates')) {
wp_schedule_event(time(), 'daily', 'check_updates');
}
}
function check_updates() {
$update_core = get_site_transient( 'update_core' );
if (!empty($update_core) && isset($update_core->updates) && is_array($update_core->updates)
&& isset($update_core->updates[0]->response) && 'upgrade' == $update_core->updates[0]->response)
{
$newversion = $update_core->updates[0]->current;
$oldversion = $update_core->version_checked;
$blogurl = esc_url( home_url() );
$message = "It's time to update the version of WordPress running at $blogurl from version $oldversion to $newversion.\n\n";
// don't let $wp_version mangling plugins mess this up
if (!preg_match( '/^(\d+\.)?(\d+\.)?(\d+)$/', $oldversion)) {
include( ABSPATH . WPINC . '/version.php' );
$message = $wp_version == $newversion ? '' : "It's time to update the version of WordPress running at $blogurl from version $wp_version to $newversion.\n\n";
}
}
//Send email
if (!empty($message)) {
$subject = apply_filters( 'updatenotifier_subject', 'Updates are available for '.get_bloginfo('name').'.');
wp_mail('[email protected]', $subject, $message);
}
}
私はそれがうまくいったかどうかテストするために1時間ごとにチェックするように変更しましたが、私はまたアップデートをチェックせずに単に電子メールを送るようにスケジュールしたのでこれもうまくいきませんでした。
どうぞよろしくお願いいたします。
私はあなたが WP Updates Notifierとして言及した上記のプラグインを分岐しました
多分あなたはその代わりにそれを見たいですか?
テーマに含める場合は、プラグインファイルをコピーしてテーマ関数ファイルに配置するだけです。
このプラグインを修正するためにさらに手助けが必要な場合はコメントを残してください。私ができることがわかります。
すでに利用可能なプラグインを使用する場合でも、独自のプラグインを作成する場合でも、セットアップするすべてのWPサイトにインストールする必要があります。ホイールを作り直す時間を無駄にしないでください。すでに見つけたプラグインを使用してください。