2016-11-27 6 views
0

私は、その後から送信したとき、私は$の有効期限の値Wordpressのcronスケジュールは変数を使って設定できますか?

add_filter('cron_schedules', 'my_cron_custom_hook'); 
     function my_cron_custom_hook($schedules) { 

     $settings = get_option('from_value'); 
     $expiry = $settings['expiry']; 
     $schedules['specific_time'] = array(
     'interval' => $expiry,--> (can't get the value here) 
     'display' => __('Specific Time') 
    ); 
} 
を得た。この場合は$ _POST

add_filter('cron_schedules', 'my_cron_custom_hook'); 
     function my_cron_custom_hook($schedules) { 

     if (isset($_POST['expiry'])) { 
      $settings = $_POST['expiry']; 
      $expiry = $settings['expiry']; -- > got the value 
     } 

    $schedules['specific_time'] = array(
     'interval' => $expiry,--> (Got value here) 
     'display' => __('Specific Time') 
    ); 
} 

を使用して値を得た

以下のように私はカスタム間隔を追加

値を取得できません$有効期限

投稿ボタンtwiseをクリックすると、$ expiryの値だけが表示されます。 これはどのような解決策ですか?

答えて

1

あなたのフォームでは、まずオプションテーブルに$expiryを保存する必要があります。このために、アクションを使用(例:フォームは、管理者側で検証している場合admin_init)このコードを発射できるよう、

add_action('admin_init', 'save_expiry'); 

function save_expiry(){ 

    if(isset($_POST['expiry']){ 
     update_option('from_value[expiry]', $_POST['expiry']); 
    } 
} 

その後、cron_schedulesフィルターには、オプションの値を取得することができます。

$settings = get_option('from_value'); 
$expiry = (!isset($settings['expiry']) && $settings['expiry']=='')? 'daily' : $settings['expiry']; 
関連する問題