Advanced Custom Fields: Obtener todos los valores de un campo

Vamos a meternos con el desarrollo con Advanced Custom Fields que es una de las tecnologías o herramientas con las que trabajo todos los días y me parece muy interesante para cualquier persona que se mueva en el desarrollo de WordPress.

En este tutorial lo que vamos a hacer es una consulta a WordPress para que recoja todos los valores de un campo cd ACF y los guarde en un array para que posteriormente los podamos tratar o utilizar para cualquier otra tarea que necesitemos.

Para este ejemplo vamos a suponer que tenemos un grupo de campos «Empresa» que tendrá dos campos. Uno para el nombre de la empresa y otro para un Id de empresa. Para hacerlo sencillo vamos a suponer que estos dos campos son únicos y que no se van a repetir aunque no vamos a realizar este desarrollo en este tutorial. Lo haremos más adelante en otro, claro que si.

Ah! y para que nos sea más sencillo o diferente, he creado una CTP «Empresa» que es el tipo de contenido que tendrá estos campos.

Entonces, suponemos que tenemos esto en ACF:

Advanced Custom Fields - Obtener todos los valores de un campo

Teniendo esto como base para nuestro ejemplo de desarrollo, imaginemos que tenemos un buen número de empresas y que «odas» estas empresas tienen contenido único en estos dos campos.

Lo que queremos hacer es recorrer todos los posts de tipo empresa y guardar estos dos valores en un array para luego usarlo para otras cosas.

Para ello primero crearemos una función y dentro de esta usaremos la WP_Query para realizar la consulta.

Vamos allá y luego lo explico:

Hemos creado una función que podremos utilizar posteriormente en un hook o como necesitemos y dentro de esta función, lo principal es la query que hacemos a todos los posts del CPT empresa que estén publicados.

Recordemos que sólo queremos los ids y los nombre de las empresas, el resto de contenido nos da igual. Por lo menos por ahora.

Inicialmente creamos un array vacío fuera del if para almacenar los datos que necesitamos.

Una vez realizada la query, la recorremos y por cada post recogemos el id_empresa y el nombre_empresa para finalmente añadirlos al array $lista_ids_nombres_empresas.

Y ya lo tendríamos.

Lo último que hacemos es resetear la consulta y devolver el array con todo el contenido.

Podéis utilizar cualquier método para aseguraros de que efectivamente el contenido se guarda en el array y que es el contenido correcto. print_r o var_dump por ejemplo.

Como muestra, aquí tenemos una captura en la que confirmamos que efectivamente todo va como tiene que ir.

Advanced Custom Fields - Obtener todos los valores de un campo

Este es sólo el comienzo. La consulta es muy sencilla pero en otros tutoriales veremos cosas algo más complejas, ok?

Venga, mucho ánimo!