Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Incluir tipos de contenido personalizado (custom post types) en el feed principal de un sitio web WordPress

Por omisión en el feed principal de un sitio que funciona con WordPress se muestran las entradas del tipo de contenido post. Para incluir otros tipos de contenidos se puede usar el siguiente código, añadiéndolo al archivo functions.php:

add_filter( 'pre_get_posts', 'prefix_custom_feed' );
function prefix_modify_feed( $query ) {
        if ( $query->is_feed() )
            $query->set( 'post_type', array( 'post', 'link' ) ); 
        return $query;
}

También se puede obtener un feed combinado modificando los parámetros de la URL del feed, de la siguiente manera:

https://voragine.net/feed?post_type[]=post&post_type[]=link

Feed para custom post types o custom taxonomies en WordPress

Por omisión WordPress genera el feed de contenidos en la URL /feed. Por ejemplo, para este blog en https://voragine.net/feed. Sin embargo, en este feed solo se incluyen los posts, ningún otro tipo de contenido, ni siquiera las páginas.

WordPress genera feeds para el resto de post types de manera separada. Por ejemplo, para obtener un feed de la linkoteca, que funciona con el post type «link», la URL del feed es https://voragine.net/feed/?post_type=link.

Lo mismo ocurre con las taxonomías. Por ejemplo, para obtener el feed de un tag: https://voragine.net/feed?tag=apache.

Por último se pueden combinar parámetros: https://voragine.net/feed?post_type=link&tag=apache.

Contexto