Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Campos personalizados con ACF para contenido en WordPress

En un artículo anterior vimos cómo usar Campos personalizados en productos de WooCommerce con ACF. En este artículo haremos algo similar con un CPT, restringiendo los campos que aparecerán como parte del contenido y de esta forma tener el contenido bajo una estructura rígida.

 

Resultado Final

Al final obtendremos una serie de campos personalizados con ACF para ingresar el contenido de forma estructurada.

ACF campos personalizados resultado

 

Generalidades

En un artículo anterior habíamos visto como crear un CPT de recetas, usaremos ese tipo de contenido para establecer el contenido con ACF.

La idea es que sólo se muestren los campos de ACF al editar o crear una receta y no el editor por defecto.

Para ocultar el editor del CPT de recetas usaremos el siguiente código, el cual quita el soporte de editor para el CPT llamado recetas_post_type

add_action( 'admin_init', 'dcms_hide_editor' );
function dcms_hide_editor() {
        remove_post_type_support('recetas_post_type', 'editor');
}

 

La otra opción es simplemente quitar el soporte de editor en la creación del CPT

 

Creación del Grupo de Campos

Primero crearemos el grupo de campos con ACF relacionados con recetas, tal como se muestra en la siguiente imagen:

ACF grupo de campos

 

También establecemos reglas para que ese grupo de campos sólo se muestre en el CPT de recetas.

Grupo de campos ACF reglas

 

Mostrar el contenido en el front-end del sitio

Para mostrar el contenido en el front-end del sitio primero necesitaremos crear un archivo de acuerdo a la jerarquía de archivos de plantilla, para mostrar el detalle del contenido del CPT.

En nuestro caso el CPT esta registrado con el nombre recetas_post_type, además según la jerarquía de archivos, puedo basarme en el archivo single.php del tema para crear el archivo single-XXX.php, en donde XXX es el nombre del CPT, es decir, mi archivo sería:
single-recetas_post_type.php.

Es en este archivo single-recetas_post_type.php en donde agregaremos las funciones de ACF para mostrar los diferentes campos.

De manera general el archivo single.php tendrá un loop que mostrará el contenido de una entrada, sin embargo podemos adaptarlo para mostrar los campos personalizados con ACF.

En el siguiente código se muestra un ejemplo de archivo para el tema StoreFront


<?php
get_header(); ?>

        <div id="primary" class="content-area">
                <main id="main" class="site-main" role="main">
            <h1><?= get_field('nombre_receta') ?></h1>

                        <div class="imagen-receta">
                        <?php
                        $id_image = get_field( 'imagen_receta' );
                        echo wp_get_attachment_image( $id_image, 'full', false, [ 'class' => 'img-recetas' ] );
                        ?>
                </div>

                        <div class="metadata-receta">
                                <div>
                                        <strong>Dificultad:</strong>
                                        <?= get_field( 'dificultad_receta' ); ?>
                                </div>
                                <div>
                                        <strong>Tiempo:</strong>
                                        <?= get_field( 'tiempo_preparacion' ); ?> horas
                                </div>
                        </div>

                        <div class="ingredientes-receta">
                                <h2>Ingredientes:</h2>
                                <?= get_field( 'ingredientes_receta' ); ?>
                        </div>

                        <div class="preparacion-receta">
                                <h2>Preparación:</h2>
                                <?= get_field( 'preparacion_receta' ); ?>
                        </div>

                </main><!-- #main -->
        </div><!-- #primary -->

<?php
do_action( 'storefront_sidebar' );
get_footer();

 
Al consultar una receta se verá de la siguiente forma:

Front-end resultado final

 

Conclusión

Como has podido comprobar, puedes dar una estructura fija a determinados tipos de contenido CPT en tu sitio web WordPress y de esta manera evitar que el usuario cambie la estructura y el diseño en cada nueva receta.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:

Suscríbete a DecodeCMS:  

 

La entrada Campos personalizados con ACF para contenido en WordPress es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires