私はWordpressの中間開発者で、javascript/jquery初心者です。私は最近、複数の従業員がその日のコースに追加することができる群集調のWebフォームを作成できるかどうかを確認するよう依頼されました(生産メモ)。毎日午後5時にフォームを自動提出すると、すべてのスタッフ。従業員が追加したメモがない場合、フォームは自動提出しないでください。毎日自動提出する機能を実行するために、空のフィールドと自動提出フォーム Wordpress Cronジョブは、webformを送信するjavascript関数を呼び出します。
- クラウドソース形式
- 機能:それはコンポーネントだにプロジェクトを破るしようとしました
5pm
フォームは、私がすべての顧客のすべてのウェブフォームに使用するwordpress plugin formidable pro formsによって強化されていて、すばらしいです。その中には、ログインしたユーザーの「下書き」を保存する機能を備えた制作ノートフォームがあります。私はフォームにアクセスする必要があるすべてのスタッフに同じユーザーを与えて、フォームの下書きを追加して保存できるようにするという考えです。
フォームは、カスタムページテンプレートを使用してページ上に存在します。
<script type="application/javascript">
function send_production_notes($) {
if($('.production-date-field input').val() == '') {
return;
} else {
$('#production-submit').click();
}
};
</script>
スクリプトは、それが空だかどうかを確認するために、日付フィールドをチェックし、そうでない場合、送信ボタンをクリックした:私はjavascriptの提出ボタンをクリックするために、次のコードを使用しています。アイデアは、共有するメモがあれば、日付フィールドに日付を常に追加するということです。そうすれば、そのように訓練されます。
その後、私はcronジョブをスケジュールに取り組んだ:UNIXタイムスタンプが間違っているので
register_activation_hook(__FILE__, 'ag_send_production_notes_scheduler');
function ag_send_production_notes_scheduler() {
if (! wp_next_scheduled ('ag_send_production_notes')) {
//Schedule the event, then to repeat daily using the hook 'ag_send_production_notes'
wp_schedule_event('1485540300', 'daily', 'ag_send_production_notes');
}
}
//Hook our function , ag_production_notes(), into the action ag_send_production_notes
add_action('ag_send_production_notes', 'ag_production_notes');
function ag_production_notes(){
if(is_page('production-notes')) {
echo '<script type="application/javascript">send_production_notes();</script>';
}
}
はwp_schedule_event
の詳細を無視し、私はいくつかの異なるものをしようとしていました。テスト中に私は関数に簡単なPHP電子メールを追加し、それがトリガされ、期待どおりに送信されたので、私はcronの仕事が分かっています。
JavaScript関数が動作することも知っています。私は、jQuery(document).ready()
ハンドラで関数をラップすることでページ上でテストしました。日付フィールドが空の場合、何もしませんでした。しかし、もし私が日付フィールドを追加したら、それは必要なように提出されたドラフト(ページをリフレッシュしたもの)を保存しました。しかし、誰かが実際にページを読み込まないで実行する機能が必要なので、私はそうすることはできません。
私は私のコードに根本的に何か間違っているか、いくつかの基本的な考え方が欠けていると思います。私はまた、PHP is_page
の条件については確信していませんでしたが、関連するページでのみjavascriptを実行する必要があると私は研究していました。
最後に、JavaScriptの送信機能を毎日午後5時に起動できるようにするには、cronジョブが必要です。私はそれが可能かどうか、または私のようなjavascript/jQuery newbの方が良いかどうかはわかりません。これはまた、私がWordpress cronジョブを使いこなしたのも初めてですが、誰かがサイトを訪問したときにだけ解雇されることはわかっています。私たちの問題ではありません。
私のfunctions.phpファイル内に完全な機能が必要なのか、本番ノートページ自体にあるのか分かりません。
また、ドキュメントから恐ろしい書式の動作を確認しましたが、書式を提出したり、草稿をエントリに変換した動作がありませんでした。あなたの時間と建設的な助けをありがとう!
私は異なった視点に感謝します!私はこの代替案を探求しますが、現在の私のアプローチがうまくいくかどうかも見たいと思います。データベースクエリとforeachを使用して特定のフォームから毎日のエントリを取得して表示することができますが、それを別の電子メールに取り込むことができます。私はミスについて心配しているスーパーではないが、あなたはポイントがある。私たちの状況では、参照や報告のためにデータを保存する必要はありませんが、良いアイデアです!私の現在のアプローチを有効にするための提案はありますか?フィードバックいただきありがとうございます。 –
こんにちは、私の答えに編集を追加しました。残念ながら、Javascriptはウェブページの表示に「コードの書式設定」を適用しませんが、正しくフォーマットされたjavascriptにアクセスできます: – Danoweb
うわー、これは素晴らしいです - 時間を割いていただきありがとうございます!これを正しく理解するには、このjavascriptをプロダクションフォームページに挿入するプラグインを使用するか、ページテンプレートの