martes, 31 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Modo mantenimiento rápido, sin plugin

Posted: 31 May 2011 02:38 AM PDT

Yo creo que está de más instalar un plugin solo para poner tu sitio en modo de mantenimiento durante unos momentos, digamos que para realizar una actualización menor o cosas así ¿no te parece?.

Además, ¿quien no ha sufrido algún problema tras una actualización con los plugins de mantenimiento?. Pues eso …

Así que si quieres poner tu sitio en reposo un rato puedes añadir momentáneamente este código al fichero functions.php de tu tema activo:

functionction wpr_maintenace_mode() {
    if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
        die('Estamos de pruebas, no tardes en volver que enseguida terminamos.');
    }
}
add_action('get_header', 'wpr_maintenace_mode');

Eso si, acuérdate de quitar el código una vez hayas terminado.

lunes, 30 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Editores que no puedan crear Administradores

Posted: 30 May 2011 09:20 AM PDT

Hace tiempo que recomiendo el uso de Members, un fantástico plugin, para gestionar adecuadamente las capacidades y roles de WordPress, pero hay ocasiones en que no es perfecto, tiene sus matices, me explico … 

Es bastante corriente modificar, una vez instalado, algún perfil de usuario (siempre estamos hablando de sitios multiusuario) para que, a su vez, pueda agregar otros usuarios. La idea es montar una estructura de colaboradores en la que alguien, normalmente el Editor, no solo revise el contenido creado por usuarios con perfil de Colaborador y Autor, sino que también pueda hacer de "responsable de recursos humanos" y añadir, modificar y borrar perfiles de usuario y sus capacidades.

Pues bien, con Members podemos hacer todo esto pero hay una pega, y es que cuando asignamos a un perfil de usuario la capacidad de crear y/o modificar usuarios también puede crear y/o modificar usuarios con perfil de Administrador, con el peligro que ello supone, sino revisa la tabla de Perfiles y Capacidades de WordPress.

Afortunadamente, todo tiene solución, así que si este es tu caso (el mío si lo es pues gestiono una red de blogs con múltiples perfiles de usuarios), solo tienes que hacer esto:

  1. Instalas y activas Members
  2. Eliges (o creas) un perfil de usuario al que le añadirás las capacidades de crear, modificar, borrar, cambiar perfiles y usuarios
    members new user1 members new user2
  3. Añades este código al fichero functions.php de tu tema activo:
    class JPB_User_Caps {

      // Add our filters
      function JPB_User_Caps(){
        add_filter( 'editable_roles', array(&$this, 'editable_roles'));
        add_filter( 'map_meta_cap', array(&$this, 'map_meta_cap'),10,4);
      }

      // Remove 'Administrator' from the list of roles if the current user is not an admin
      function editable_roles( $roles ){
        if( isset( $roles['administrator'] ) && !current_user_can('administrator') ){
          unset( $roles['administrator']);
        }
        return $roles;
      }

      // If someone is trying to edit or delete and admin and that user isn't an admin, don't allow it
      function map_meta_cap( $caps, $cap, $user_id, $args ){

        switch( $cap ){
            case 'edit_user':
            case 'remove_user':
            case 'promote_user':
                if( isset($args[0]) && $args[0] == $user_id )
                    break;
                elseif( !isset($args[0]) )
                    $caps[] = 'do_not_allow';
                $other = new WP_User( absint($args[0]) );
                if( $other->has_cap( 'administrator' ) ){
                    if(!current_user_can('administrator')){
                        $caps[] = 'do_not_allow';
                    }
                }
                break;
            case 'delete_user':
            case 'delete_users':
                if( !isset($args[0]) )
                    break;
                $other = new WP_User( absint($args[0]) );
                if( $other->has_cap( 'administrator' ) ){
                    if(!current_user_can('administrator')){
                        $caps[] = 'do_not_allow';
                    }
                }
                break;
            default:
                break;
        }
        return $caps;
      }

    }

    $jpb_user_caps = new JPB_User_Caps();

  4. Guardas los cambios y ¡Ya está!, ahora el nuevo perfil de usuario podrá crear y modificar perfiles pero no podrá crear administradores ni modificar sus perfiles a no ser que, a su vez, sea administrador

¡Que lo disfrutes!

sábado, 28 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

WordPress mejor aplicación web Open Source 2011 en The Critters

Posted: 28 May 2011 01:36 PM PDT

De nuevo WordPress se ha puesto por encima de aplicaciones como Drupal o Diaspora, siendo elegida la mejor aplicación web de código libre en The Critters.

bbPress 2.0 beta 2 ¡que llega, que llega!

Posted: 28 May 2011 01:24 PM PDT

Uy, esto está que arde. ¿Pues no hace horas que anunciaba la beta 1 de bbPress 2.0 y ya tenemos aquí la beta2?, y con muchas novedades, a saber:

  • Integración con GlotPress
  • Solución al fallo de archivo de foros en algunas instalaciones
  • Ajustes y mejoras en el importador
  • El enlace a la portada soporta breadcrumb
  • Añadidos los breadcrumbs desapaprecidos en varios archivos de plantilla
  • Se han añadido filtros para el soporte futuro de anti-spam
  • Mejoras en las plantillas y el CSS
  • Mejoras en la compatibilidad de temas
  • Mejoras en el soporte RTL
  • Soporte multisitio mejorado
  • Ajustes en la papelera de hilos y respuestas

Si te atreves a probarlo puedes descargarlo aquí. Estos días más que Ayuda WordPress esto parece Ayuda bbPress, y tan contento que estoy.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Domina tu Blog

WordPress cumple 8 añitos

Posted: 26 May 2011 03:24 PM PDT

Vale, es un bebé aún pero ¡qué bebé!, tan grandecito, tan hermosote, tan lleno de sorpresas y alegrías cada día. Son nada menos que 8 años de WordPress desde aquel primer anuncio, y los que nos quedan aún por disfrutar.

Así que …

¡Felicidades WordPress!

viernes, 27 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

FAQ bbPress 2.x (plugin)

Posted: 27 May 2011 12:00 AM PDT

¿Aún no te animas a probar bbPress 2.x?, pues seguramente esta lista de dudas y respuestas (FAQ) te ayude a decidirte. La ha creado John J. Jacoby y es un buen punto de comienzo:

¿Donde puedo desargarlo?
1. Desde el instalador de plugins de tu WordPress
2. http://wordpress.org/extend/plugins/bbpress/

¿Donde puedo informar de errores?
1. http://bbpress.org/forums/ (usa la tag ‘bbpress-plugin’)
2. http://bbpress.trac.wordpress.org

¿Donde puedo informar de una vulnerabilidad de seguridad?
1. http://wordpress.org/about/contact/
2. jjj en #bbpress en el  freenode de IRC

¿Donde puedo hacer preguntas de soporte?
Usa los foros oficiales (en inglés) o los de Ayuda WordPress

¿Se integrará con BuddyPress?
De momento aún no, pero tampoco entra en conflicto con tu tema o datos existentes

¡No se ven los foros e hilos en mi tema!
Vuelve a guardar tus enlaces permanentes

¿Hay algún importador de foros bbPress versión 1.x?
Se está en ello, pero aún está en fase de prueba. Anímate a probarlo e informa de los errores.

¿Donde está la documentación?

En el mismo código del plugin de momento. No tiene mucho sentido crear documentación para una versión aún en pruebas, sujeta aún a cambios. Habrá pronto un codex de bbPress.

¿Por qué como admin puedo publicar vídeos y los  usuarios normales no?
Las cuentas de Admin en WordPress tienen capacidades extra que les permiten publicar todo tipo de contenido, y bbPress ahora es parte de WordPress y hereda estas capacidades.

¿Qué va a pasar con bbPress 1.x?
De momento se seguirá manteniendo pero se congelará su desarrollo futuro, así que no esperes nuevas funcionalidades en bbPress 1.x.

¿Puede instalarse el plugin bbPress 2.0 Beta sin WordPress?
No. bbPress 2.0 es un plugin para WordPress.

 

jueves, 26 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

bbPress 2.0 beta 1

Posted: 26 May 2011 08:59 AM PDT

Si, como yo, estás ansioso de ver como se consigue integrar bbPress como plugin ya tienes disponible la beta 1 de bbPress 2.0, descargable desde el sitio oficial.

¿Pegas?, pues aún bastante, no hay más que darse un paseo por los foros oficiales para ver que aún queda mucho para que funcionen de manera correcta. De hecho, algo vital como la utilidad de importación desde bbPress 1.x aún no está terminada. Pero, no obstante, para hacer pruebas, ver si se adaptará a tu tema activo, y esas cosas, ya puedes empezar a enredar con esta versión.

Paso lista del estado de desarrollo a día de hoy:

  1. Contador de hilos - ¡HECHO!
  2. Contador de mensajes - ¡HECHO!
  3. Contador de voces - ¡HECHO!
  4. Limpieza de escritorio - ¡HECHO!
  5. Tipos de usuario - ¡HECHO!
  6. Mensajes de usuario - ¡HECHO!
  7. Favoritos de usuario - ¡HECHO!
  8. Suscripciones de usuario - ¡HECHO!
  9. Roles de usuario - ¡HECHO!
  10. Mover hilo - ¡HECHO!
  11. Separar hilo - ¡HECHO!
  12. Unir hilo - ¡HECHO!
  13. Etiquetado - ¡HECHO!
  14. Compatibilidad de temas - ¡HECHO!
  15. Feeds - 95%
  16. Importador desde  bbPress v1.0 - 95%

Aunque parece que hay mucho adelantado en realidad quedan muchos flecos para que sea algo utilizable, no digamos la adaptación de tu tema para que acoja los foros, pero eso ya lo cuento en otro momento.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar WordPress

miércoles, 25 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

WordPress 3.1.3 y WordPress 3.2 beta 2

Posted: 25 May 2011 03:35 PM PDT

Acaba de salir la actualización, de seguridad e importante, WordPress 3.1.3, y además, también está disponible WordPress 3.2 beta 2.

Al respecto de la actualización de seguridad poco que decir más allá que actualices ya mismo, las actualizaciones de seguridad se hacen si o si, no se discute, y son unos segundos lo que tarda en hacerlo.

Refiriéndonos a WordPress 3.2 beta 2, se ha mejorado mucho el aspecto y se usa jQuery 1.6.1. Por supuesto, no uses esta versión en sitios activos, solo a efectos de ir probando plugins y códigos que necesites de cara a la versión final.

lunes, 23 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Generador de tipos de entradas personalizadas

Posted: 23 May 2011 01:18 PM PDT

¡No puedo creer que lo hayan inventado!

Pero aquí está. Y es que la herramienta web creada por Brad Vincent usando Gravity Forms, te permite crear en solo 6 pasos, rellenando la información solicitada en cada campo, tipos de entradas personalizadas, y sin saber ni una línea de código.

El proceso es sencillo, solo tienes que ir contestando las preguntas del generador web, le das al botón “Next” y vas pasando a través de las distintas pantallas: General, Características, Etiquetas, Visibilidad, Opciones y Capacidades. Al final, te ofrece un código que deberás añadir al fichero functions.php de tu tema activo y ¡Ya está!, tu tipo de entrada personalizada sin saber programación y funcionando de maravilla.

generator1 generator2 generator3 generator4 generator5 generator6 generator codigo

Chulo ¿no?

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Windows Live Writer

jueves, 19 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Por fin estadísticas en WordPress para iOs

Posted: 19 May 2011 12:20 PM PDT

Hacía ya tanto tiempo que parecía que WordPress para iOs era el hermano pobre que casi no me creo que la ultima actualización que acaba de salir, y desde la que escribo estas lineas, por fin incorpore algunas funcionalidades básicas ya disponibles para otras plataformas móviles.

Las novedades más evidentes son Foto rápida, geolocalización y estadísticas, para las que tendrás que estar usando Jetpack o el plugin WP stats.

Personalizar la ayuda de WordPress

Posted: 18 May 2011 04:44 PM PDT

Hace tiempo que trabajamos el equipo de traducción oficial de WordPress en ofrecer una versión en español de España coherente, no a gusto de todos pero si útil para todos, mejorando los textos, haciéndolos más razonables y fáciles de adaptarlos a cada necesidad.

No obstante, hay ocasiones en que uno desea adaptar el escritorio de WordPress a necesidades concretas, bien para uno mismo o para clientes.

Pues ea, a esto me refiero, y el siguiente truco viene a ofrecer un modo de personalizar las pantallas de ayuda de WordPress, unos textos que, en principio, tratan de ofrecer una visión general de para qué sirve cada elemento de las páginas de administración, pero que en ocasiones pueden no ser útiles o simplemente queremos mejorarlas o ampliarlas.

Si es tu caso, en el siguiente código verás como personalizar la ventana de ayuda de la página de "Añadir nueva página", añadiéndolo al fichero functions.php de tu tema activo:

add_action('load-page-new.php','custom_help_page');
add_action('load-page.php','custom_help_page');
function custom_help_page() {
  add_filter('contextual_help','custom_page_help');
}
function custom_page_help($help) {
  // echo $help; // Quita la doble barra inicial de esta línea para que tu texto de ayuda se "sume" al ya existente, en este caso lo sustituye
  echo "<h5>Texto de ayuda personalizado</h5>";
  echo "<p>Aquí pones el texto o HTML que quieras.</p>";
}

¿Que quieres hacer lo mismo en la pagina de añadir nueva entrada u otra, pues solo tienes que sustituir las referencias a, en este caso load-page-new.php por load-post-new.php, y así sucesivamente.

Que lo disfrutes ;)

martes, 17 de mayo de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Taxonomías avanzadas en WordPress 3.1

Posted: 16 May 2011 11:00 PM PDT

Esta es otra entrega del repaso que estoy haciendo en mi blog de las novedades más interesantes que nos aporta WordPress 3.1. Este último artículo ha llegado con un poco de retraso, pero bueno, aquí está, esta vez publicado en Ayuda WordPress.

Vamos a ver una novedad muy interesante que nos ofrece WordPress 3.1: la posibilidad de seleccionar a la vez múltiples taxonomías. Imaginémonos que tenemos varias taxonomías, por ejemplo (suponiendo que las entradas hacen referencia a videojuegos): Plataforma, Desarrollador, Género, Edad Recomendada, etc... Hasta ahora si queríamos obtener los resultados que pertenecieran a una taxonomía concreta no teníamos problemas. Pero si queríamos mostrar los resultados que pertenecieran a dos taxonomías a la vez (por ejemplo aquellos videojuegos cuya plataforma es Playstation 3 y su edad recomendada 18 años) no podíamos hacerlo. Hasta ahora.

Pero empecemos desde el principio. Vamos a ver primero qué es una taxonomía y dónde estábamos antes de WordPress 3.1

Qué es una Taxonomía

Sabéis que WordPress tiene Categorías y Etiquetas. Pues bien, estas son en sí mismas taxonomías, es decir, criterios para clasificar una entrada, artículo, noticia o como queráis llamarlo. Lo interesante es que además de las Categorías y de las Etiquetas WordPress te permite crear taxonomías adicionales con el fin de lograr una mejor clasificación de tus entradas.

Por ejemplo, si queremos clasificar un grupo de videojuegos podemos hacerlo de muchas maneras: según su plataforma (PC, Playstation 3, XBox 360, etc..), según la edad recomendada, el tipo de juego, el precio, etc... Es más que probable que sólo con las Categorías y las Etiquetas te quedes corto y necesites crear nuevas taxonomías.

Cómo crear una taxonomía

Vamos con un ejemplo real. Vamos a suponer que tenemos este videojuego para una web figurada que se llama "misvideojuegos.com":

  • Título de la Entrada: Postal 2
  • Categoría: Inteligencia
  • Etiquetas: Ciencia ficción, 3D
  • Idioma: Castellano
  • Plataforma: XBox 360
  • Fabricante: Valve
  • Edad: 12 años

Lo que vamos a lograr es que se pueda adjuntar toda esta información al videojuego que vayas a crear en WordPress. Para lograrlo necesitarás crear (o "registrar" como lo llaman en WordPress) las nuevas taxonomías. Para ello abre el archivo functions.php de tu tema y escribe:

function crear_mis_taxonomias() {
  register_taxonomy('idioma', 'post', array(
  'hierarchical' => false, 'label' => 'Idioma',
  'query_var' => true, 'rewrite' => true));

  register_taxonomy('plataforma', 'post', array(
  'hierarchical' => false, 'label' => 'Plataforma',
  'query_var' => true, 'rewrite' => true));

  register_taxonomy('fabricante', 'post', array(
  'hierarchical' => false, 'label' => 'Fabricante',
  'query_var' => true, 'rewrite' => true));

  register_taxonomy('edad', 'post', array(
  'hierarchical' => false, 'label' => 'Edad',
  'query_var' => true, 'rewrite' => true))
}
add_action('init', 'crear_mis_taxonomias', 0);

Grabamos el archivo y entramos en el administrador de WordPress. Si hacemos click en añadir una nueva Entrada, veremos que en la derecha, debajo de etiquetas, tenemos las nuevas taxonomías:

Taxonomías en WordPress

Para crear o "registrar" una taxonomía utilizamos la función de WordPress register_taxonomy(). En este enlace podéis ver la gran cantidad de parámetros que podemos usar al crear nuestras taxonomías.

En el código podemos ver que el segundo parámetro es el que indica a qué objeto aplicamos las nuevas taxonomías. En el ejemplo hemos puesto "post", lo cual indica que se añadirán a cualquier Entrada que creemos. ¿Y si queremos que aparezcan en las Páginas pero no en las Entradas? Entonces pondríamos 'page'. ¿Y si hemos creado unas Entradas Personalizadas que se llaman "videojuegos"? (si queréis ver cómo crear entradas personalizadas podéis verlo en el artículo Nuevo en WordPress 3.1: Archivos de Entradas Personalizadas. Entonces escribiríamos 'videojuegos' y las taxonomías saldrían sólo en las entradas personalizadas que se llaman 'videojuegos'. ¿Y si queremos que salgan en varios sitios? Entonces en vez de una cadena ponemos un array:

register_taxonomy('edad', array('videojuegos', 'post'), array(
  'hierarchical' => false, 'label' => 'Edad',
  'query_var' => true, 'rewrite' => true));

Si hemos añadido las taxonomías a una entrada personalizada estas aparezerán en el menú de la izquierda bajo la misma:

Taxonomías en entradas personalizadas

¿Qué URLs obtenemos?
Ahora obtendremos nuevas URLs en línea con las nuevas taxonomías. Por ejemplo:

http://www.misvideojuegos.com/edad/12-anos/
http://www.misvideojuegos.com/idioma/castellano/
http://www.misvideojuegos.com/plataforma/playstation-3/

http://www.misvideojuegos.com/fabricante/valve/

Estas URLs utilizarán el fichero archive.php de nuestro tema para mostrar todas las entradas que cumplan con la taxonomía correspondiente. Pero ¿cómo las mostramos?

Mostrar las entradas correspondientes a una etiqueta de una taxonomía concreta

Para mostrar las entradas que tengan una etiqueta concreta de una de nuestras taxonomías tenemos que poner este código antes del "loop" de nuestro tema:

<?php query_posts(array('plataforma' => 'playstation-3', 'showposts' => 15)); ?>

Se mostrarán entonces todas las entradas que pertenezcan a la etiqueta "Playstation 3" de la Taxonomía "Plataforma". Le hemos indicado también que muestre 15 entradas.

Nota: Cuando decimos antes del loop es antes de:

<?php while ( have_posts() ) : the_post(); ?>

Mostrar todos los valores de una taxonomía

Si queremos mostrar todas las entradas, una a una, que correspondan a una taxonomía concreta simplemente pon este código:

<?php echo get_the_term_list($post->ID, 'plataforma', 'Plataforma: ', ', ', ''); ?>

Los tres últimos parámetros le dicen a WordPress qué es lo que tiene que poner antes de los enlaces de las etiquetas, entre cada enlace y después de cada enlace respectivamente.

Mostrar una nube de taxonomías en tu tema de WordPress

Para mostrar una nube de taxonomías que contenga todas las etiquetas de una taxonomía concreta, añade este código donde quieras que aparezca:

<?php wp_tag_cloud(array('taxonomy' => 'plataforma', 'number' => 30)); ?>

Recuerda cambiar "plataforma" por el nombre de tu taxonomía. También puedes editar el parámetro "number" que especifica cuantas etiquetas se van a mostrar. Para mostrarlas todas pon "0".

Consultas avanzadas de Taxonomías en WordPress 3.1

Bueno, por fin estamos donde queríamos llegar: a las novedades que nos ofrece WordPress 3.1 para las Taxonomías. Las consultas avanzadas de Taxonomías usan un nuevo parámetro en las funciones de consulta que se llama "tax_query"

tax_query es un array de arrays, donde cada array describe qué criterio quieres que se cumpla a la hora de mostrar las entradas. No hay mucha documentación aún sobre tax_query, por lo que seguro que saldrán más y mejores usos de los que pongo yo aquí.

Supongamos que en nuestro blog tenemos una Categoría que se llama "Libros" y una etiqueta que se llama "Misterio" (recordad que las Categorías y las Etiquetas son Taxonomías). Si queremos mostrar todas las entradas que tengan la categoría "Libros" y la etiqueta "Misterio", pondríamos antes del "loop":

$custom_query = wp_parse_args($query_string);
$custom_query['tax_query'] = array(
    array(
     'taxonomy' => 'category',
     'terms' => array('Libros'),
     'field' => 'slug',
   ),
  array(
  'taxonomy' => 'post_tag',
    'terms' => array('Misterio'),
    'field' => 'slug',
   ),
);
query_posts($custom_query);
query_posts($custom_query);

Como veis las entradas que se van a mostrar satisfacen los dos criterios a la vez. Se puede incluir un array de Categorías y un array de Etiquetas. Más opciones:

Si lo que queremos es que NO salgan las entradas que tengan una o varias categorías concretas (por ejemplo, que no salgan las entradas con las categorías "Libros" ni "Discos"):

$custom_query = wp_parse_args($query_string);
$custom_query['tax_query'] = array(
array(
'taxonomy' => 'category',
'terms' => array('libros', 'discos'),
'field' => 'slug',
'operator' => 'NOT IN',
),
);
query_posts($custom_query);

Igualmente, esto hay que ponerlo antes del loop, para que en el loop sólo salgan las entradas que hemos seleccionado previamente. Como veis, a diferencia del anterior ahora hay un nuevo parámetro llamado "operator" que tiene como valor "NOT IN".

Por último, podemos seleccionar que salgan las entradas que son de una Categoría (por ejemplo "Libros") o de una etiqueta concreta (por ejemplo "Heavy"). Como veréis a continuación, la diferencia radica en el parámetro "relation".

$custom_query = wp_parse_args($query_string);
$custom_query['tax_query'] = array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'terms' => array('libros'),
'field' => 'slug',
),
array(
'taxonomy' => 'post_tag',
'terms' => array('heavy'),
'field' => 'slug',
),
);
query_posts($custom_query);

Os habréis fijado que en estos ejemplos hay un campo que se llama "field" para el que hemos dado el valor "slug". Si en vez del "slug" queremos dar el ID de la Categoría o Etiqueta, tendriamos que poner "term_id". También se puede poner su nombre con "name" en vez de "slug". Por defecto es "term_id".

Eso en cuanto a Categorías y Etiquetas, pero ¿y si quiero hacerlo con las taxonomías que he creado? Pues por ejemplo, si quiero que salgan sólo aquellos videojuegos que estén recomendados para una edad superior a los 18 años, pondría antes del loop:

$myquery['tax_query'] = array(
    array(
        'taxonomy' => 'edad',
        'terms' => array('19'),
        'field' => 'slug',
    ),
);
query_posts($myquery);

Saldrían aquellos artículos en los que en el cuadro de la nueva taxonomía "Edad" haya incluido el número 18. Podría hacer igualmente combinaciones y exclusiones tal y como hicimos con las Categorías y las Etiquetas.

Pero siguiendo con el ejemplo que teníamos más arriba, en el que teníamos una entrada personalizada llamada "Videojuegos" con varias taxonomías, si suponemos que sólo queremos mostrar las entradas personalizadas "videojuegos" cuya taxonomía "Edad" sea 18 años, ponemos antes del loop:

<?php
$query = array(
tax_query => array(
array(
taxonomy => 'edad',
terms => array('18'),
field => 'slug'
)
),
'post_type' => 'videojuegos'
);
query_posts($query);
?>

Como veis hemos añadido "post-type" para poner el nombre de la entrada personalizada.

Y por último, sabed que incluso podemos combira meta_query con tax_query, como en este ejemplo:

$query = array(
'post_type' => 'ad',
'meta_query' => array(
array(
'key' => 'status',
'value' => 'Active',
'compare' => 'LIKE'
)
),
'tax_query' => array(
array(
'taxonomy' => 'size',
'terms' => array( 'box' ),
'field' => 'slug'
)
)
);

Y esto es todo, ¡espero que os sea de utilidad!

Seguidores

Archivo del blog