Agregar categorías a las páginas en WordPress

En mis intentos por hacer un diseño para WordPress me ví en la obligación de categorizar las páginas, pero no encontraba la forma de hacerlo sin tener que agregar algún plugin, pero pude hacerlo finalmente.

Para lograrlo debemos agregar este código al archivo functions.php:

// Agregar categorías en páginas
function add_category_box_on_page(){
add_meta_box('categorydiv', __('Categories'), 'post_categories_meta_box', 'page', 'side', 'low');
}

add_action('admin_menu', 'add_category_box_on_page');

Listo, ahora cuando edites una página encontrarás la caja de categorías para agregarlas, igual que al editar un post.

Vía: Assign Categories to Pages in WordPress

Excluír Categorías del Loop de WordPress

Tal vez, como yo, tengas la necesidad de excluír una categoría del index de tu blog, o de cualquier sección de el. Yo lo hago para no mostrar los miniposts en el mismo lugar que los posts normales.

Hacerlo es muy simple, pero debemos conocer el ID de cada  categoría que queramos excluír. Si no sabes como puedes ver este post. No uses el método que se muestra en ese post para excluír categorías, ya que no funciona, por lo menos en estas últimas versiones de WordPress. El plugin que se muestra tampoco lo usen, aunque funciona con la última versión, lo único que hará será sobrecargar nuestra BD.

Para excluír categorías del index, debemos abrir nuestro archivo index.php y buscar la siguiente línea:

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

Ahora debemos incluír esta justo arriba de la anterior:

<?php query_posts($query_string . '&cat=-3,-8'); ?>

Donde 3 y 8 son los ID's que queremos excluír. El signo negativo (-) quiere decir que se excluirá, si no lo ponemos, se mostrarán sólo los posts que estén en esa categoría.

Vía: Codex de WordPress

Categorías con imágen hacia el Feed

Mostrar la url para el feed de una sola categoría puede ayudar a las personas que llegan a tu blog solo a leer artículos sobre una categoría.

Para hacerlo tan sólo debemos modificar una línea en el código que muestra las categorías, que normalmente se encuentra en el archivo sidebar.php.

<?php wp_list_categories(); ?>

A este código debemos agregarle una variable entre los parentesis (). Quedaría de este modo:

<?php wp_list_categories('feed_image=url-imagen') ?>

En donde url-imagen es la dirección donde se encuentra la imágen a mostrar.

Si sólo hacemos esto el resultado se verá bastante mal:

Para arreglar esto debemos agregar una línea de CSS a nuestra hoja de estilos:

#div-categorias img {border: none; float: right;}

El resultado es algo mucho más amigable a la vista. Como ejemplo pueden ver la primera imágen.

Vía: Blogger Profesional
Enlace: Mostrar las categorias con enlaces a sus RSS Feed

Excluír Categorías del Feed

Excluir categoría del Feed

¿Haz pensado en quitar los post de determinada categoría del Feed de WordPress?

Esto es muy fácil de hacer y te voy a mostrar 2 metodos, que no requieren ningún tipo de plugin, sólo editar código.

Cambiando la URL del Feed

Este es el metodo más sencillo, aunque menos estético, ya que debemos modificar la url de nuestro Feed.

Para hacerlo solamente debemos agregar la variable cat a la url del Feed y saber la ID de la categoría a excluir.

Para saber la ID de nuestra categoría solo debemos poner el mouse sobre la categoría y en la barra de estado del navegador nos mostrará el ID.

Ejemplo:

Mostra ID de Categorías

En este caso se muestra la ID de la categoría Asides y esa es la que quiero excluir de Twitter para que no lleguen estos post.

La url del Feed quedaría de esta forma:

http://www.blooging.net/?feed=rss2&cat=-142

Así de simple se excluye la categoría Asides de mi blog. Esta url puedes unirla con feedburner para que tus lectores no se den cuenta del cambio ;)

Agregando código al archivo functions.php de nuestro theme

Esta forma es más estética, pero más complicada. Para hacerlo también necesitamos la ID de nuestra categoría y agregar el siguiente código al archivo functions.php de tu theme (si no lo tiene debes crearlo):

function myFilter($query) {
if ($query->is_feed) {
$query->set(’cat’,'-142′);
}
return $query;
}
add_filter(’pre_get_posts’,'
myFilter’);

Aquí debemos cambiar la siguiente línea: $query->set(’cat’,'-142′);. El número indica la ID, solo debes cambiarlo ;)

A los que me siguen por Twitter, no les seguirán llegando los minipost, solo los post completos como este :B

Espero que les sea útil ;)