SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Crear formularios
front-end con
Advanced Custom
Fields
esther solà
Campos personalizados o custom fields
nativos de WordPress
Advanced Custom Fields permite añadir
multitud de campos personalizados
avanzados
Tipos de campo:
● De contenido:
texto, número, área de texto, url, web, imagen, archivo….
● De selección:
select, radio, checkbox..
● De relación:
enlace a página, objeto post, relación, taxonomía...
● De layout:
mensaje, pestaña, acordeón...
Asociados a:
● Entrada, tipo de entrada,
plantilla, estado, formato…
● Página, tipo o plantilla de página
● Categorías o etiqueta
● Usuarios, Widgets, Menús,
Adjuntos….
Custom Fields + Custom Post Type
La combinación ideal para crear sitios en
WordPress avanzados, 100% adaptados a
la arquitectura de la información necesaria.
Formularios en ACF
acf_form_head();
Añade la funcionalidad necesaria al formulario: estilos, scripts,
validación…
Se añade antes de get_header();
acf_form();
Crea un formulario en el front-end de la web, para añadir o editar registros.
acf_register_form();
Registra un formulario que puede utilizarse en distintos lugares de la web
Ejemplo: reseñas de libros
● Tipo de entrada personalizada: reseñas
● Taxonomía personalizada: género
● Campos personalizados para datos de la reseña, del autor y del
libro.
Formulario para nuevos registros
<?php
acf_form_head();
acf_form(array(
'post_id' => 'new_post',
'new_post' => array(
'post_type' => 'review',
'post_status' => 'publish'
),
)); ?>
Formularios en ACF
acf_form( $settings);
'post_id'
'new_post'
'field_groups'
'fields'
'post_title'
'post_content'
'form'
'form_attributes'
'return'
'html_before_fields'
'html_after_fields'
'submit_value'
'updated_message'
'label_placement'
'instruction_placement'
'field_el'
'uploader'
'honeypot'
'html_updated_message'
'html_submit_button'
'html_submit_spinner'
'kses'
Formularios en ACF
acf_form(): Mostrar sólo algunos campos
<?php
acf_form(array(
'post_id' => 'new_post',
'post_title' => true,
'fields' => array( 'field_5ea3b4f2575c3','field_5ea3b500575c4'),
'new_post' => array(
'post_type' => 'review',
),
));
?>
¿Cómo saber el nombre de cada campo?
Formulario para editar registros
<?php
acf_form_head();
acf_form(array(
'post_id' => $postid,
'post_title' => false,
'post_content' => false,
'updated_message' => 'Se ha actualizado
correctamente',
'submit_value' => 'Guardar Cambios'
));
?>
Filtros & Acciones
acf/pre_submit_form
Filtro que se ejecuta justo después que se envíe el formulario, y antes de que se guarden los datos.
acf/pre_save_post
Se ejecuta justo después del filtro pre_submit_form y antes de guardar los datos.
acf/save_post
Esta acción se ejecuta al guardar los datos del formulario.
acf/submit_form
Se ejecuta justo después de guardar los datos.
Enviar un email al crear un nuevo registro
add_action('acf/save_post', 'my_save_post');
function my_save_post( $post_id ) {
if( get_post_type($post_id) !== 'review' ) {
return;
}
if( is_admin() ) {
return;
}
wp_mail( 'destinatario@destino.com', 'asunto', 'mensaje', $cabeceras
);
}
Otros filtros ACF
acf/prepare_field
acf/validate_value
acf/update_field
…. todos los filtros en https://www.advancedcustomfields.com/resources/#filters
acf/update_value
acf/load_field
acf/load_value
Modificar etiqueta del título o contenido
add_filter('acf/prepare_field/name=_post_title', 'my_acf_prepare_field');
add_filter('acf/prepare_field/name=_post_content', 'my_acf_prepare_field');
add_filter('acf/prepare_field/name=_post_title', 'my_acf_prepare_field');
function my_acf_prepare_field( $field ) {
if ( is_page_template('editar-review.php') ) {
$field['label'] = "Título de la reseña";
}
if ( $field ) {
return $field;
} else {
exit;
}
}
<?php
function my_acf_update_value( $value, $post_id, $field ) {
if( is_string($value) ) {
$value = str_replace( 'Old Company Name', 'New Company Name',
$value );
}
return $value;
}
add_filter('acf/update_value', 'my_acf_update_value', 10, 3);
?>
Reemplazar texto o caracter
Resumiendo
Custom Post Types + Custom Fields + ACF forms
= Contenido generado por el usuario
= Facilidad de uso
= Muy potente para integrar filtros y acciones personalizadas.
Soy desarrolladora web
especializada en WordPress,
Genesis Framework y
WooCommerce
Gracias.
www.esthersola.com · www.tranquilidadwp.com · www.zonadpw.com
@esther_sola_

Más contenido relacionado

Similar a #WCES - Crear formularios front-end con Advanced Custom Fields

2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net
Sandy Contreras
 
Presentacion
PresentacionPresentacion
Presentacion
El Jota
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
paulcuenca9
 

Similar a #WCES - Crear formularios front-end con Advanced Custom Fields (20)

Sacale partido al personalizador
Sacale partido al personalizadorSacale partido al personalizador
Sacale partido al personalizador
 
06 validación
06 validación06 validación
06 validación
 
Funciones
FuncionesFunciones
Funciones
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net
 
Instructivo themewordpress
Instructivo themewordpressInstructivo themewordpress
Instructivo themewordpress
 
Presentacion
PresentacionPresentacion
Presentacion
 
Customizer: configurando un sitio en tiempo real
Customizer: configurando un sitio en tiempo realCustomizer: configurando un sitio en tiempo real
Customizer: configurando un sitio en tiempo real
 
Clases CSS en WordPress
Clases CSS en WordPressClases CSS en WordPress
Clases CSS en WordPress
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Sesion n°6
Sesion n°6Sesion n°6
Sesion n°6
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.
 
fonciones
foncionesfonciones
fonciones
 
Clase 10 formularios
Clase 10   formulariosClase 10   formularios
Clase 10 formularios
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Cómo crear plugins para Wordpress
Cómo crear plugins para WordpressCómo crear plugins para Wordpress
Cómo crear plugins para Wordpress
 

Último (7)

Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfTIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 

#WCES - Crear formularios front-end con Advanced Custom Fields