Desde la versión 3.0 de WordPress tenemos la posibilidad de crear Custom Posts Types no entrare en detalles de que son pero básicamente se pueden explicar como entradas personalizadas, Estas “entradas”  no son otra cosa que entradas comunes de WordPress con configuraciones diferentes.

Hay ocasiones en que debemos mostrar los Custom Post Types junto con las entradas normales ( por default los Custom Post Types no son accesibles en el  loop normal de WordPress ) por ejemplo en el home, en los archivos etc.

Entonces para poder acceder a los Custom Post Types usando el loop normal de WordPress debemos agregar un filtro al query mediente el  hook pre_get_posts que queda de esta manera.

[php] function my_get_posts( $query )
{
global $wp_query;
if ( !is_preview() && !is_admin() && !is_singular() )
{
$args = array(
‘public’ => true ,
‘_builtin’ => false
);
$output = ‘names’;
$operator = ‘and’;
$post_types = get_post_types( $args , $output , $operator );
$post_types = array_merge( $post_types , array( ‘post’, ‘custom_post_name’, ‘custom_post_name_2′ ) );
if ($query->is_feed)
{
/* Si es el Feed no insertes los custom posts, si quiere mostrarlo quita este if */
} else {
$my_post_type = get_query_var( ‘post_type’ );
if ( empty( $my_post_type ) )
{
$query->set( ‘post_type’ , $post_types );
}
}
}
return $query;
}
add_filter( ‘pre_get_posts’, ‘my_get_posts’ );

[/php]

La linea mas importante de esta función es:

[php] $post_types = array_merge( $post_types , array( ‘post’, ‘custom_post_name’, ‘custom_post_name_2′ ) );
[/php]

Aquí es donde agregamos los nombres de los Custom Post Types que queremos agregar al loop y listo ahora el loop funciona con nuestros Custom Post Types.

Cabe mencionar que para identificar el Custom Post Type en el loop basta con verificarlo de la siguiente forma:

[php]

if ( $post->post_type == ‘custom_post_name’)
{
//Do something…
}

[/php]

Saludos.

Últimamente mas que Desarrollo con Flex/Flash/AS3 he dedicado casi el 100% de mi tiempo a desarrollo sobre WordPress.

Debo confesar que tenia poca fe en este CMS y solo lo usaba para Blogs, pero créanme que es un CMS en toda la extensión de la palabra.

Dicho lo anterior iré posteando snippets que en lo personal me han sido de ayuda, iniciando con uno simple.

Excluir categorías usando get_the_category esta función nos devuelve un array con las categorías de la entrada.

[php] function the_category_filter($cats)
{
if( ! is_admin() )
{
$exclude = array(‘Destacados’);
foreach($cats as $cat)
{
$catname = trim($cat->name);
if(!in_array($catname,$exclude))
{
$newlist[] = $cat;
}
}
return $newlist;
} else {
return $cats;
}
}
add_filter(‘get_the_categories’,'the_category_filter’);
[/php]

Noten que el filtro solo aplica para usuarios normales, el administrador puede ver todas las categorías.

Algo simple pero bastante útil.

Novedades en WordPress 3.1

Les dejo la lista de las novedades de la nueva versión de WordPress

  • Enlaces internos – con un clic en el nuevo botón para enlaces internos podrás buscar una entrada o revisar el contenido existente para enlazarlo.
  • Barra de administración – contiene varios enlaces para acceder a diversas pantallas de administración. Por defecto, la barra de admin se muestra cuando un usuario ha accedido y está visitando el sitio, y no se muestra en las pantallas de administración en las instalaciones simples (sin multisitio activado). Para las instalaciones con multisitio se muestra tanto cuando estás visitando el sitio como en las pantallas de administración
  • Mejoras en la interfaz de escritura – Los nuevos usuarios de WordPress encontrarán la pantalla de escritura mucho más limpia que antes, con la mayoría de las opciones ocultas por defecto. (puedes hacer clic en Opciones de pantalla de la parte superior para volverlas a mostrar)
  • Formatos de entrada – La información de los formatos pueden usarla los temas para personalizar la presentación de una entrada.
  • Administrador de la red – Se han movido los menús del Super administrador y las páginas relacionadas de la pantalla de admin habitual a la nueva Pantalla de administrador de la red.
  • Pantallas de administración en modo de lista – puedes ordenar las columnas de las pantallas con listados (páginas, entradas, comentarios, etc) para mejorar la paginación.
  • Mejoras del exportador/importador – Hay muchos cambios en la información del autor, mejora en el manejo de taxonomías y términos, soporte correcto de menús de navegación, etc.
  • Mejoras en el tipo de contenido personalizado – Permite a los desarrolladores crear páginas de archivo y disponer de más controles de las capacidades y mejores menús.
  • Consultas avanzadas – Permite a los desarrolladores realizar consultas múltiples de taxonomías y campos personalizados.Un esquema de color azul para la administración más fresco que centra la atención en tu contenido.

Visto en:  http://codex.wordpress.org/Version_3.1

Wordpress, el CMS que se ha hecho mi favorito, ha anunciado el lanzamiento de la Versión 2.8 Beta 1, Esta versión corrige bugs y trae nuevas mejoras que son interesantes, entre estas podemos encontrar las siguientes:

  • Nuevas rutinas para la instalaciones de temas.
  • Tags accesibles sin Javascript en la pantalla de edición.
  • No pregunta por confirmación cuando se marcan comentarios como Spam.
  • Permite el arreglo de los widgets en el dashboard en hasta cuatro columnas.
  • Nuevos íconos y actualización de los colores azules en el menú de administración.
  • Auto salvado al teclear Control/Command + S.
  • Soporte de más de una galería en la misma página.
  • Mejoras en el rendimiento de la base de datos
  • TinyMCE 3.2.3

Entre muchas mas.

En lo personal esperare a una versión  RC para hacer la instalación en este blog.

Pero todos aquellos temerarios pueden hacer uso de esta nueva versión desde ya.

Saludos 8)

Follow me through my day

Send requests or questions about my products, find out on what I'm working and stay tune with my updates or just say hello ;)

Array

@Tmeister

active