WP Job Manager: cambie el flujo de registro para agregar una lista de trabajos

3 minutos de lectura

Estoy buscando una manera o algún consejo sobre cómo lograr lo siguiente.

Quiero poder cambiar el flujo de cómo un usuario se registra para agregar una lista de trabajos. El flujo de corriente es el siguiente

  1. El usuario agrega detalles del trabajo
  2. El usuario luego presiona el botón “vista previa”
  3. En este punto, se le pide al usuario que inicie sesión o se registre.
  4. El usuario inicia sesión o se registra
  5. El usuario luego ve el elemento de vista previa
  6. El usuario envía la lista

Lo que quiero que suceda es el siguiente anuncio:

  1. El usuario agrega detalles del trabajo
  2. El usuario presiona el botón “vista previa”
  3. El usuario ve los elementos de vista previa
  4. El usuario intenta enviar la lista
  5. El sistema solo ahora solicita al usuario que inicie sesión o se registre
  6. Usuario inicia sesión/registros
  7. Se envía el listado

Ahora sé que podemos deshabilitar el campo de registro de usuario en la página de agregar lista usando el siguiente código en nuestro functions.php:

add_filter( 'submit_job_form_show_signin', '__return_false' );

Pero no puedo encontrar una manera en cualquier sitio sobre cómo solicitar el registro/inicio de sesión desde el botón Enviar en la página de vista previa, ¿alguien tiene alguna idea de cómo podría lograr esto?

Saludos,

  • ¿Desea deshabilitar los campos de registro de usuario/login?

    – hemnath mouli

    22 de mayo de 2016 a las 6:51

  • @hemnathmouli – No, quiero que la solicitud de registro solo se active en la página de vista previa en lugar de en la lista de anuncios

    – Johan Rheeder

    22 de mayo de 2016 a las 7:14

  • que tema estas usando? Puede valer la pena mirar las plantillas predeterminadas; Estoy pensando que necesitará modificar el flujo usando un tema secundario y creando sus propias plantillas para esas páginas. En el peor de los casos, envíeles un mensaje, generalmente responden muy rápido.

    – Shawn

    22 mayo 2016 a las 19:38

  • @Shawn: ya me he puesto en contacto con los desarrolladores de temas y no me han servido de nada, ya que me dijeron que fuera al foro de WP Job Manager y preguntara allí. También he ido al foro de WPJM pero tampoco hay respuesta allí.

    – Johan Rheeder

    23 mayo 2016 a las 21:29

Sé que esta es una publicación antigua, pero espero que esto pueda ayudar. Notablemente, hay algunos filtros y acciones en el administrador de trabajos de wp que puede conectar para insertar el formulario de inicio de sesión/registro en el flujo de envío de trabajos.

Sin embargo, simplemente deshabilitar el formulario de inicio de sesión desde el formulario de envío de la forma en que lo hace agregando el filtro a continuación no es una buena idea:

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

Nota: la plantilla de formulario de envío de WP Job Manager verifica las siguientes capacidades antes de representar el job submit form(Así que no olvide configurar el acceso para el usuario invitado)

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

Una mejor manera de manipular el flujo de envío de trabajos es, creo, a través del asistente de Pasos o mediante el siguiente filtro: submit_job_steps

enganche al filtro anterior para modificar el flujo, simplemente cambie la prioridad de las siguientes devoluciones de llamada, envíe, obtenga una vista previa y listo:

$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
            )
        ) );

Sin embargo, si aún desea seguir el camino que está haciendo (Nota recomendada), puede hacerlo modificando el WP-Job-Manager/templates/job-preview.phpagregue la siguiente línea al final.

<?php get_job_manager_template( 'account-signin.php' ); ?>

¿Ha sido útil esta solución?