<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>taxonomías &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/taxonomias/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Wed, 28 Aug 2019 06:18:18 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://danisanchez.net/wp-content/uploads/2026/07/cropped-favicon-32x32.png</url>
	<title>taxonomías &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Personalizar las columnas del listado de entradas en WordPress</title>
		<link>https://danisanchez.net/personalizar-las-columnas-del-listado-de-entradas-en-wordpress/</link>
					<comments>https://danisanchez.net/personalizar-las-columnas-del-listado-de-entradas-en-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Wed, 28 Aug 2019 06:18:18 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[custom post]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[taxonomías]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=6079</guid>

					<description><![CDATA[Si accedemos al listado de entradas o de un custom post de WordPress, veremos que por defecto aparecen una serie de columnas con información útil sobre el contenido: En nuestro caso y continuando con la serie de ejercicios anteriores en la que creamos un custom post para guardar vehículos, las columnas que aparecen por defecto [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si accedemos al listado de entradas o de un custom post de WordPress, veremos que por defecto aparecen una serie de columnas con información útil sobre el contenido:</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="1024" height="410" src="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-1024x410.jpeg" alt="" class="wp-image-6080" srcset="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-1024x410.jpeg 1024w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-300x120.jpeg 300w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-768x308.jpeg 768w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos.jpeg 1326w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">En nuestro caso y continuando con la <a href="https://danisanchez.net/crear-un-custom-post-en-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener" aria-label="serie de ejercicios anteriores en la que creamos un custom post (opens in a new tab)">serie de ejercicios anteriores en la que creamos un custom post</a> para guardar vehículos, las columnas que aparecen por defecto son el título, el autor y las taxonomías que creamos: Tipo de Vehículo y Extras).</p>



<p class="wp-block-paragraph">Estas taxonomías aparecen como columnas porque al definirlas especificamos el argumento:</p>



<pre class="wp-block-code"><code>'show_admin_column' =&gt; true</code></pre>



<p class="wp-block-paragraph">Lo que hace que lo muestre en la columna del administrador. Si no queremos que aparezca solo tenemos que cambiar el valor a «false».</p>



<p class="wp-block-paragraph">En este artículo veremos cómo añadir nuestras propias columnas para mostrar por ejemplo, el precio y la matrícula que tenemos guardados en campos personalizados.</p>



<p class="wp-block-paragraph">Para ello vamos a hacer uso del filtro &#8216;manage_edit-<strong>nombre-del-custom-post</strong>_columns&#8217; y el action &#8216;manage_<strong>nombre-del-custom-post</strong>_posts_custom_column&#8217;.</p>



<h2 class="wp-block-heading">1. Especificamos las columnas con el filtro manage_edit-xxxx_columns</h2>



<pre class="wp-block-code"><code>function columnas_post_type_vehiculos($columnas){
    $columnas = array(
        'cb' =&gt; '&amp;lt;input type="checkbox" /&gt;',
        'title' =&gt; 'Título',
        'matricula' =&gt; 'Matrícula',
        'precio' =&gt; 'Precio',   
    );
    return $columnas;
}
add_filter('manage_edit-vehiculos_columns', 'columnas_post_type_vehiculos') ;</code></pre>



<p class="wp-block-paragraph">Analizando el código, estamos haciendo referencia a las columnas del tipo de post «vehiculos».</p>



<p class="wp-block-paragraph">Hemos especificado que aparezca:</p>



<ol class="wp-block-list"><li>El checkbox para poder seleccionar el post y realizar acciones en lote con él.</li><li>El título del post.</li><li>La matricula.</li><li>El precio. </li></ol>



<p class="wp-block-paragraph">Si nos fijamos en los elementos <strong>matrícula y precio</strong>, el primer valor es la variable que tenemos que especificar sin caracteres especiales, el segundo valor es la etiqueta o nombre que aparecerá en la columna.</p>



<p class="wp-block-paragraph">Ahora tenemos que especificar de donde tomar los datos para cada columna.</p>



<h2 class="wp-block-heading">2. Tomar los datos para cada columna</h2>



<pre class="wp-block-code"><code>function filas_post_type_vehiculos($columna, $post_id){
    global $post;
    switch($columna){
        case 'matricula':
            $matricula = get_post_meta($post_id, 'matricula', true);
            the_field('matricula');
            break;          
        case 'precio':
            $precio = get_post_meta($post_id, 'precio', true);
            the_field('precio');
            break;     
        
        default :
            break;
    }
}
add_action('manage_vehiculos_posts_custom_column', 'filas_post_type_vehiculos', 2, 10);</code></pre>



<p class="wp-block-paragraph">Recorremos con un switch columna tras columna y obtenemos su valor con la función <strong>the_field()</strong> de advanced custom field que es donde tenemos el valor guardado.</p>



<p class="wp-block-paragraph">En este ejemplo solo aparecerán las columnas, título, matrícula y precio:</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="410" src="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-1024x410.jpeg" alt="" class="wp-image-6081" srcset="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-1024x410.jpeg 1024w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-300x120.jpeg 300w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-768x308.jpeg 768w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas.jpeg 1326w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Si queremos que también aparezcan las demás columnas (autor, tipo de vehículo y extras, tenemos que definirlas:</p>



<pre class="wp-block-code"><code>function columnas_post_type_vehiculos($columnas){
    $columnas = array(
        'cb' =&gt; '&amp;lt;input type="checkbox" /&gt;',
        'title' =&gt; 'Título',
        'matricula' =&gt; 'Matrícula',
        'precio' =&gt; 'Precio',  
        'tipo_vehiculo' =&gt; 'Tipo de Vehículo',
        'extras' =&gt; 'Extras',
        'author' =&gt; 'Autor',
    );
    return $columnas;
}
add_filter('manage_edit-vehiculos_columns', 'columnas_post_type_vehiculos');</code></pre>



<pre class="wp-block-code"><code>function filas_post_type_vehiculos($columna, $post_id){
    global $post;
    switch($columna){
        case 'matricula':
            $matricula = get_post_meta($post_id, 'matricula', true);
            the_field('matricula');
            break;  
        case 'precio':
            $precio = get_post_meta($post_id, 'precio', true);
            the_field('precio');
            break;
        case 'tipo_vehiculo':
	    //consultar qué taxonomías hay marcadas
	    $terms = get_the_terms( $post-&gt;ID , 'tipo-vehiculo' );
	    if($terms != null){
		foreach( $terms as $term ) {
		    echo $term-&gt;name . " ";
		    unset($term);
		}
            }
            break;
        case 'extras':
	    //consultar extras
	    $terms = get_the_terms( $post-&gt;ID , 'extras' );
	    if($terms != null){
	        foreach( $terms as $term ) {
		    echo $term-&gt;name . " ";
		    unset($term);
		}
	    }
            break;
        default :
            break;
    }
}
add_action('manage_vehiculos_posts_custom_column', 'filas_post_type_vehiculos', 2, 10);</code></pre>



<figure class="wp-block-image"><img decoding="async" width="1024" height="410" src="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-2-1024x410.jpeg" alt="" class="wp-image-6083" srcset="https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-2-1024x410.jpeg 1024w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-2-300x120.jpeg 300w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-2-768x308.jpeg 768w, https://danisanchez.net/wp-content/uploads/2019/08/01-listado-vehiculos-columnas-personalizadas-2.jpeg 1326w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Consideraciones</h2>



<p class="wp-block-paragraph">Hay que tener precaución en cómo llamar a los filtros y acciones de forma que no cometamos errores.</p>



<p class="wp-block-paragraph">En el <strong>add_filter y add_action</strong>, modifica únicamente el nombre de tu custom post:</p>



<p class="wp-block-paragraph">manage_<strong>vehiculos</strong>_posts_custom_column<br>manage_<strong>animales</strong>_posts_custom_column<br>manage_<strong>casas</strong>_posts_custom_column</p>



<p class="wp-block-paragraph">Espero que este artículo te haya sido de interés y puedas utilizarlo en tus proyectos. Seguro que a tus clientes les viene bien tener información a mano de sus contenidos sin necesidad de entrar al post.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/personalizar-las-columnas-del-listado-de-entradas-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Taxonomías, para qué sirven y cómo crearlas (sin plugins)</title>
		<link>https://danisanchez.net/taxonomias-para-que-sirven-y-como-crearlas-sin-plugins/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Mon, 08 Apr 2019 10:56:34 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[taxonomías]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5320</guid>

					<description><![CDATA[Tras el último post en el que veíamos cómo crear custom posts, continuamos esta serie de artículos aprendiendo a generar nuestros propios contenidos en WordPress. Uno de los elementos más importantes son las taxonomías. Las taxonomías sirven para categorizar, organizar y filtrar nuestros contenidos de una forma mucho más concisa que utilizando el simple cajetín [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Tras el <a href="https://danisanchez.net/crear-un-custom-post-en-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener">último post</a> en el que veíamos cómo crear custom posts, continuamos esta serie de artículos aprendiendo a generar nuestros propios contenidos en WordPress. Uno de los elementos más importantes son las <strong>taxonomías</strong>.</p>



<p class="wp-block-paragraph">Las taxonomías sirven para <em>categorizar, organizar y filtrar</em> nuestros contenidos de una forma mucho más concisa que utilizando el simple cajetín de categorías que WordPress incorpora por defecto. De hecho, tanto las categorías como las etiquetas de WordPress son en sí taxonomías. Veremos más adelante por qué.</p>



<p class="wp-block-paragraph">Continuando con el ejemplo del concesionario de vehículos, supongamos que necesitamos catalogar estos vehículos de diferentes formas. Por ejemplo, podríamos categorizarlos por tipo de vehículo: coche, camión, motocicleta&#8230;, pero también podríamos necesitar categorizarlo por el tipo de motor: diesel, gasolina, eléctrico&#8230;, por el número de puertas: 3, 4, 5&#8230;, por la marca, color, etc.</p>



<p class="wp-block-paragraph">En este caso, la categoría por defecto se nos quedaría corta, de ahí que necesitemos extender el número de «categorías» para definir correctamente el vehículo. Esa es la función principal de las taxonomías.</p>



<p class="wp-block-paragraph">Además, gracias a las taxonomías, podremos construir consultas personalizadas para mostrar únicamente las entradas que tengan marcadas esas taxonomías.</p>



<p class="wp-block-paragraph">Para declarar una taxonomía, utilizaremos como siempre, el archivo de funciones del tema activo (functions.php) o <a href="https://danisanchez.net/wordpress-crear-nuestro-propio-plugin-de-funciones/" target="_blank" rel="noreferrer noopener">nuestro propio plugin de funciones</a>. Podemos declarar todas las taxonomías que necesitemos utilizando la misma función.</p>



<h2 class="wp-block-heading">Declara una taxonomía</h2>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">function mis_taxonomias(){
    //Tipo de Vehículo
    $labels = array(
     'name' => _x('Tipo de Vehículo', 'taxonomy general name', 'twentysixteen'),
     'singular_name' => _x('Tipo de Vehículo', 'taxonomy_general_name', 'twentysixteen'),
     'search_items' => __('Buscar Tipo de Vehículo', 'twentysixteen'),
     'all_items' => __('Todos los Tipos de Vehículos', 'twentysixteen'),
     'parent_item' => __('Padre Tipo de Vehículo', 'twentysixteen'),
     'parent_item_colon' => __('Padre Tipo de Vehículo', 'twentysixteen'),
     'edit_item' => __('Editar Tipo de Vehículo', 'twentysixteen'),
     'update_item' => __('Actualizar Tipo de Vehículo', 'twentysixteen'),
     'add_new_item' => __('Añadir Nuevo Vehículo', 'twentysixteen'),
     'new_item_name' => __('Nuevo Tipo de Vehículo', 'twentysixteen'),
     'menu_name' => __('Tipo de Vehículo', 'twentysixteen'),
    );
    $args = array(
     'hierarchical'  => true,
     'labels'  => $labels,
     'show_ui'  => true,
     'show_admin_column'     => true,
     'query_var'  => true,
     'rewrite'  => array('slug' => 'tipo_de_vehiculo'),
    );
    register_taxonomy('tipo-vehiculo', array('vehiculos'), $args);
}
add_action('init','mis_taxonomias');</pre></code></pre>



<p class="wp-block-paragraph">La función <strong>register_taxonomy() </strong>es la encargada de declarar nuestras taxonomías personalizadas.</p>



<p class="wp-block-paragraph">La declaración es bastante similar a declarar un nuevo custom post. Por un lado recibe las etiquetas (labels) para los textos que se mostrará en el panel de WordPress, y por otro los argumentos (args) que definen las caracteríticas y el comportamiento.</p>



<p class="wp-block-paragraph">Los argumentos más interesantes son:</p>



<ul class="wp-block-list"><li><strong>hierarchical:</strong> su estado puede ser true o false. Si es true, la taxonomía mostrará los elementos a modo de listado para seleccionarlos tal y como se hace con las <strong>Categorías</strong> de WordPress. Si está en false, la taxonoḿia se verá como un campo de texto, donde insertaremos manualmente el nombre de los elementos de la taxonomía (como las <strong>Etiquetas</strong> de WordPress).</li><li><strong>rewrite:</strong> Donde especificaremos el slug de la taxonomía, que nos permitirá usar en un nuevo template para obtener un listado de las entradas que incluyan dicha taxonomía.</li></ul>



<p class="wp-block-paragraph">Una vez declarada, esta taxonomía se incluirá directamente como submenú dentro del menú de Vehículos (nuestro custom posts):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="664" height="258" src="https://danisanchez.net/wp-content/uploads/2019/04/01.taxonomias-01.jpg" alt="" class="wp-image-5323" srcset="https://danisanchez.net/wp-content/uploads/2019/04/01.taxonomias-01.jpg 664w, https://danisanchez.net/wp-content/uploads/2019/04/01.taxonomias-01-300x117.jpg 300w" sizes="auto, (max-width: 664px) 100vw, 664px" /></figure></div>



<p class="wp-block-paragraph">Accediendo a la taxonomía podremos añadir elementos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1000" height="454" src="https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-elementos-taxonomia.jpg" alt="" class="wp-image-5324" srcset="https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-elementos-taxonomia.jpg 1000w, https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-elementos-taxonomia-300x136.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-elementos-taxonomia-768x349.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></div>



<p class="wp-block-paragraph">Una vez creados los elementos de la taxomía, si añadimos un nuevo vehículo veremos el cajetín de la taxonomía, con su listado de elementos a modo de nueva categoría.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1000" height="463" src="https://danisanchez.net/wp-content/uploads/2019/04/03.vista-taxonomia-en-custom-post.jpg" alt="" class="wp-image-5326" srcset="https://danisanchez.net/wp-content/uploads/2019/04/03.vista-taxonomia-en-custom-post.jpg 1000w, https://danisanchez.net/wp-content/uploads/2019/04/03.vista-taxonomia-en-custom-post-300x139.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/03.vista-taxonomia-en-custom-post-768x356.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></div>



<p class="wp-block-paragraph">Aprovechando la misma funcion (mis_taxonomias()), vamos a añadir una nueva categoría pero de un estilo más «flexible», donde vamos a especificar los «extras» del vehículo: aire acondicionado, pintura metalizada, dirección asistida, navegador&#8230;). Para ello crearemos una taxonomía al estilo de <strong>Etiquetas</strong> de WordPress.</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">//Extras del Vehículo
    $labels = array(
     'name' => _x('Extras', 'taxonomy general name', 'twentysixteen'),
     'singular_name' => _x('Extras', 'taxonomy_general_name', 'twentysixteen'),
     'search_items' => __('Buscar Extras', 'twentysixteen'),
     'all_items' => __('Todos los Extras', 'twentysixteen'),
     'parent_item' => __('Padre Extras', 'twentysixteen'),
     'parent_item_colon' => __('Padre Extras', 'twentysixteen'),
     'edit_item' => __('Editar Extras', 'twentysixteen'),
     'update_item' => __('Actualizar Extras', 'twentysixteen'),
     'add_new_item' => __('Añadir Extras', 'twentysixteen'),
     'new_item_name' => __('Nuevo Extras', 'twentysixteen'),
     'menu_name' => __('Extras', 'twentysixteen'),
    );
    $args = array(
     'hierarchical'  => false,
     'labels'  => $labels,
     'show_ui'          => true,
     'show_admin_column'     => true,
     'query_var'  => true,
     'rewrite'  => array('slug' => 'extras'),
    );
    register_taxonomy('extras', array('vehiculos'), $args);</pre></code></pre>



<p class="wp-block-paragraph">Para conseguir el aspecto de taxonomía a modo de etiquetas, solo tenemos que definir el parámetro <strong>&#8216;hierarchical&#8217;</strong> en false.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1000" height="601" src="https://danisanchez.net/wp-content/uploads/2019/04/04.vista-taxonomia-en-custom-post.jpg" alt="" class="wp-image-5328" srcset="https://danisanchez.net/wp-content/uploads/2019/04/04.vista-taxonomia-en-custom-post.jpg 1000w, https://danisanchez.net/wp-content/uploads/2019/04/04.vista-taxonomia-en-custom-post-300x180.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/04.vista-taxonomia-en-custom-post-768x462.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></div>



<p class="wp-block-paragraph">Ahora que sabemos cómo declarar nuevas taxonomías, crearemos algunas más que usaremos para hacer pruebas.</p>



<p class="wp-block-paragraph">En el siguiente post veremos cómo crear campos personalizados internos para nuestro custom post, como por ejemplo, un campo para el precio, otro para el año de fabricación, el kilometraje (si el vehículo es usado), etc.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
