Igual que ocurre con los post, en WordPress podemos necesitar añadir categorías, tags o términos de una taxonomía que hayamos creado sin usar el gestor, bien porque queramos insertar masivamente un número considerable de categorías, bien porque queramos dar a nuestro usuarios esta posibilidad desde un formulario en nuestra página web.
Para insertar categorías, etiquetas o elementos a cualquier taxonomía usaremos la función wp_insert_term.
Insertar páginas, posts o cualquier tipo de contenido (custom post types) directamente a la base de datos (sin utilizar el editor del gestor de WordPress) puede ser muy útil al menos en dos casos: añadir contenido de manera masiva, y añadir contenido desde un formulario de nuestra web (al modo que lo hace el plugin TDO MiniForms).
Desde la versión 2.8 de WordPress existe el valor meta_value_num para la opción orderby de la función query_posts; con ella podemos ordenar un listado de post que extraigamos de la base de datos mediante query_posts utilizando un campo personalizado al que debemos asignar un valor numérico. Es el equivalente al orden de un tipo de post (post types) jerárquico como las páginas.
Existen dos plugins de WordPress que permiten usados conjuntamente asociar una imagen a cada categoría de WordPress y ordenar una lista de categorías a voluntad, siguiendo un criterio personlizado, ya que hay casos en los que las opciones de las funciones de WordPress que nos devuelven un listado de categorías se nos pueden quedar cortas. Los plugins son Category Icons y Category Order.
Para averiguar el número de entradas de un loop en WordPress podemos llamar a la variable $wp_query de WordPress, por supuesto dentro del loop, que es la que almacena toda la información de la llamada que hemos hecho a base de datos para formar el loop.
echo $wp_query->post_count;
La función wp_count_posts es otra manera de contar entradas; la función devuelve el número de entradas en un determinado estado (borrador, publicada…) de un determinado tipo de post (entrada, página…).
Para saber si una página tiene o no subpáginas en WordPres, lo que podemos necesitar para hacer una sentencia condicional podemos aplicar el siguiente código:
Con la siguiente función podremos obtener el identificador de una taxonomía (lo que incluye etiquetas, categorías, categorías de enlaces y cualquier otra que creemos) a partir de su nombre. Para ello basta incluirla en el archivo functions.php del tema que estemos usando y llamarla adecuadamente en la plantilla que lo necesitemos.
Hay dos métodos para pasar variables de una página a otra: utilizando un formulario o mediante la URL. Cada uno tiene una manera de recuperar los datos en la página de destino, el primero mediante el uso de la variable global $_POST, el segundo mediente $_GET.
Utilizaremos el primer método cuando tengamos que usar un formulario para que el usuario introduzca algún valor, como por ejemplo en un formulario de búsqueda o en uno de contacto que permita enviar un mensaje. Utilizaremos el segundo cuando sean variables que no dependan en absoluto de la interacción del usuario, sino que sencillamente queramos transferir de una página a otra.
Parece fácil y la solución lo es por su sencillez, pero llegar a ella cuesta mucha búsqueda e intentos fallidos. Para conseguir un loop con offset paginado utilizaremos query_posts. Si lo utilizamos asignando un valor directo al atributo offset no funcionará. Para que funcione debemos relacionar los dos atributos de la siguiente manera.
Sacar un listado de las últimas actualizaciones de cualquier página web en WordPress es trivial: hay decenas de plugins, incluso widgets que ya vienen de serie en el paquete básico de WordPress. Pero hay veces que necesitamos una versatilidad en el feed mayor que la que ofrece cualquiera de los plugins; por otro lado, podemos querer no sobrecargar de plugins nuestros temas.
WordPress ofrece la función fetch_feed() para obtener feeds mediante SimplePie and FeedCache y formatearlos a voluntad.