Skip Navigation

[Closed] Necesito poder guardar los cambios en un post como borrador

This support ticket is created 3 years, 8 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 7:00 – 14:00 -
- 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 15:00 – 16:00 -

Supporter timezone: Europe/London (GMT+01:00)

This topic contains 3 replies, has 2 voices.

Last updated by Nigel 3 years, 8 months ago.

Assisted by: Nigel.

Author
Posts
#1729963

Tengo unos post que le agrego mucha información antes de publicarlos y necesito poder guardar como borrador lo que voy agregando

#1730357

Nigel
Supporter

Languages: English (English ) Spanish (Español )

Timezone: Europe/London (GMT+01:00)

¿Hablas de formularios en el front-end para publicar entradas?

#1731457

Si, asi es.

#1733031

Nigel
Supporter

Languages: English (English ) Spanish (Español )

Timezone: Europe/London (GMT+01:00)

Entonces necesitas unos formularios, uno para publicar la entrada que contiene unos de los campos, y cuantos más formularios necesitas para lo demás campos que editán la entrada publicada por el primero formulario.

Por ejemplo, si tienes un tipo de entrada con 30 campos personalizados.

Formulario uno es para publicar la entrada (quizas con estado 'draft'), y contiene los primeros 10 campos personalizados. Se mete en una página "Publicar entrada paso 1".

Formulario dos es para editar esta misma entrada y contiene los 10 siguientes campos. Se mete en una página "Publicar entrada paso 2".

Formulario tres es para editar esta misma entrada de nuevo y contiene los 10 últimos campos. Se mete en una página "Publicar entrada paso 3".

En el formulario uno se dirige a la página paso 2.

En el formulario dos se dirige a la página paso 3.

En el formulario tres se publica la entrada y se dirige donde quieres, por ejemplo a la misma entrada.

Entonces, despues de mandar el formulario uno se dirige al formulario dos etc.

Hay un problema, es decir que el formulario dos no sabe cual entrada editar (ni el tres).

Es necesario pasar el ID de la entrada publicada en paso 1 a la página que contiene el formulario dos, que debe pasar el ID a la página que contiene el formulario tres etc.

Para este, necesitamos usar el filtro del API cred_success_redirect: https://toolset.com/documentation/programmer-reference/cred-api/#cred_success_redirect

El código que usarías sería así:

add_filter( 'cred_success_redirect', 'ts_form_redirect', 10, 3);
function ts_form_redirect( $url, $post_id, $form_data ){

    if ( in_array( $form_data['id'], array( 203, 211 ) ) ){ // Editar

        $url = add_query_arg( 'postid', $post_id, $url );
    }
    return $url;
}

Es solo necesario editar los ID's de los formularios uno y dos, que pasan el ID al paso siguiente.

Finalmente, hay una complicación más.

Al insertar el formulario dos en su página (y el formulario tres en suya) es necesario coger este ID pasado por parámetro de URL.

Puedes retraer el valor de este parámetro con el shortcode wpv-search-term (https://toolset.com/documentation/programmer-reference/views/views-shortcodes/#wpv-search-term).

No puedes insertar el formulario con el parámetro requerido mediante el bloque de Forms, es necesario insertarlo mediante un bloque de "Custom HTML", asi:

[cred_form form="publicar-entrada-paso-2" id="[wpv-search-term param='postid']"]

Del mismo modo, debes insertar el formulario 3 en su página con un bloque de Custom HTML así:

[cred_form form="publicar-entrada-paso-3" id="[wpv-search-term param='postid']"]

Por supuesto los detalles pueden cambiar en tu sitio propio.

The topic ‘[Closed] Necesito poder guardar los cambios en un post como borrador’ is closed to new replies.