2016-10-21 12 views
0

私はある種のセルフサービスポータルを構築しており、それをwordpressサイトに実装する必要があります。ポータル自体は、純粋なPHP、jquery、SQLなどで構築されています。メインサイトの残りの部分にあるWordpressライブラリを使用しないでください。CronからカスタムPHPファイルを実行し、Wordpressメールを実装します。

私は必要なものを見つけるためにウェブを検索しましたが、一致するものは見つかりませんでした。

..だから私は何をしようとしています。..

私はそれをportal_reminder呼び出すことができます(サーバー上のルートにカスタムPHPファイルをトリガー、XクロックですべてのX日cronジョブを実行する必要があります。 PHP)は、カスタム(またはプラグイン?)を使用して、カスタムPHPファイルで指定されたターゲットに電子メールを送信します。

ああ、サーバがマルチホストを使ってサーバパーク内でホストされているので、私は "外部"プログラム(sendmail)をインストールすることはできませんし、端末(cron -e)にカスタムcronジョブを作成することもできません。

だから、私は電子メールを処理するためにワードプレス/その他のcron処理を行うために、wordpress cronプラグインが必要です。明確にするため

次のように、私の考えでした:

cronジョブは

ポータルリマインダーが$に含め、 "MailSenderのを" トリガー、$から、$コンテンツ(HTMLコンテンツ) "portal_reminder.php" をトリガー

"MailSenderのは、" メールを送信します:)

でも可能、このですか?

+0

はい可能です。しかし、まずメールをテストするためにあなたのサーバーで実行されている1つのメール送信テストコードをテストするメール送信がサポートされているかどうか –

答えて

0

cronジョブは、サーバーcronが優れている場合でも、WordPressでうまく機能します。誰かがあなたのWordPressサイトにアクセスすると、WordPress cronが起動します。ここで

新しいスケジュール(WordPressのネイティブのスケジュールは毎時、twicedaily、唯一の毎日です)との一例である:あなたのケースでは

add_filter('cron_schedules', 'wc_dsr_add_custom_cron_schedule'); 
function wc_dsr_add_custom_cron_schedule($schedules) { 
    $schedules['fourdaily'] = array(
     'interval' => 21600, // 86400s/4 
     'display' => __('Four time daily'), 
    ); 

    return $schedules; 
} 

function wc_dsr_create_daily_backup_schedule(){ 
    //Use wp_next_scheduled to check if the event is already scheduled 
    $timestamp = wp_next_scheduled('wc_dsr_cron_send_action'); 

    //If $timestamp == false schedule daily backups since it hasn't been done previously 
    if($timestamp == false){ 
     //Schedule the event for right now, then to repeat daily using the hook 'wc_create_daily_backup'   
     wp_schedule_event(time(), 'fourdaily', 'wc_dsr_cron_send_action'); 

    } 
} 

//Hook our function , wc_dsr_cron_send_action(), into the action wc_dsr_cron_send_report 
add_action('wc_dsr_cron_send_action', 'wc_dsr_cron_send_report'); 

function wc_dsr_cron_send_report(){ 
    // do your job 
    wp_mail('[email protected]', 'Subject', 'Message'); 
} 

、wc_dsr_cron_send_report()が含まれ、portal_reminder.phpで動作するかもしれません。 WordPressの機能とうまく動作するためには、あなたがウェブ上でより多くの例を見つけることができるでしょう

define('WP_USE_THEMES', false); 
require_once('pathto/wp-load.php); 

をportal_reminder.phpするために、これを追加する必要があります。

関連する問題