2016-05-16 6 views
9

私は、以下を達成するための方法やアドバイスを探しています。WPジョブマネージャー - ジョブを追加するための登録フローを変更する

ユーザーがジョブを追加するために登録する方法の流れに変更できるようにしたいと思います。

  1. ユーザーが
  2. ユーザーは、この時点で、「プレビュー」ボタン
  3. に当たるジョブの詳細を追加し、以下のように電流の流れは、ユーザーがログインするか、ユーザ登録のいずれかに促されています。
  4. ユーザーがログインまたは
  5. ユーザその後、登録は上場
  6. ユーザーが提出プレビューアイテムを見ている

広告は何が起こるしたい以下である:

  1. ユーザーは、ジョブの詳細を追加し
  2. ユーザーが「プレビュー」ボタンを押す
  3. プレビューされたアイテムが表示されます
  4. ユーザーは、今、私たちは、ユーザーを無効にすることができます知っている中/レジスタ
  5. システムは今だけログイン用のユーザーに求めたり
  6. ユーザーログを登録
  7. リストが

を提出しているのリスト提出しようとします私たちのfunctions.phpに以下のコードを使用して追加のリストページ上のフィールドを登録します。

add_filter('submit_job_form_show_signin', '__return_false'); 

しかし、私は方法を見つけることができませんどこでもプレビューページの[送信]ボタンから登録/ログインを要求する方法については、どのように私はこれを達成するために行くだろうか?

よろしく、

+0

ユーザー登録フィールド/ログインを無効にしますか? –

+0

@hemnathmouli - いいえ、リストの代わりにプレビューページでのみ登録要求を発したいです –

+0

どのテーマを使用していますか?デフォルトのテンプレートを調べる価値があるかもしれません。子テーマを使用してフローを変更し、それらのページ用に独自のテンプレートを作成する必要があると考えています。最悪の場合、彼らにメッセージを送り、彼らは通常非常に迅速に応答します。 – Shawn

答えて

1

これは古い投稿ですが、これが役立つと思います。あなたはジョブのサブミットフローでログイン/登録フォームを挿入するためにフックすることができるwpジョブマネージャのいくつかのフィルタ&アクションが顕著にあります。

はしかし、単にフィルタの下に追加することによって、彼らは道あなたのやって提出フォームからログインフォームを無効にすることは良い考えではありません。

`add_filter('submit_job_form_show_signin', '__return_false');` 

注:WPジョブマネージャの前に以下の機能のためのフォームテンプレートのチェックを提出しますjob submit form(だから、ゲストユーザーのアクセスを設定することを忘れないでください)

<?php if (job_manager_user_can_post_job() || job_manager_user_can_edit_job($job_id)) : ?> 

をレンダリングジョブ投入の流れを操作するためのより良い方法は、私はステップのウィザードを介して、または以下のフィルターを通して考える、次のとおりです。submit_job_steps

上記のフィルタにフックだけで、プレビューを提出して行われ、次のコールバックの優先順位を変更し、フローを変更する:

$this->steps = (array) apply_filters('submit_job_steps', array(
      'submit' => array(
       'name'  => __('Submit Details', 'wp-job-manager'), 
       'view'  => array($this, 'submit'), 
       'handler' => array($this, 'submit_handler'), 
       'priority' => 10 
       ), 
      'preview' => array(
       'name'  => __('Preview', 'wp-job-manager'), 
       'view'  => array($this, 'preview'), 
       'handler' => array($this, 'preview_handler'), 
       'priority' => 20 
      ), 
      'done' => array(
       'name'  => __('Done', 'wp-job-manager'), 
       'view'  => array($this, 'done'), 
       'priority' => 30 
      ) 
     )); 

にしかし、あなたはまだあなたがやっているパスを行くことを希望する場合(推奨注意してください) WP-Job-Manager/templates/job-preview.phpを変更して、次の行を末尾に追加してください。

<?php get_job_manager_template('account-signin.php'); ?> 
関連する問題