['post', 'fcn_story', 'fcn_chapter', 'fcn_recommendation'], 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => get_option( 'posts_per_rss' ) + 8, // Buffer in case of invalid results 'update_post_meta_cache' => true, 'update_post_term_cache' => true, 'no_found_rows' => true ) ); // Filter out hidden posts (faster than meta query) $posts = array_filter( $posts, function ( $post ) { // Chapter hidden? if ( $post->post_type === 'fcn_chapter' ) { $chapter_hidden = get_post_meta( $post->ID, 'fictioneer_chapter_hidden', true ); return empty( $chapter_hidden ) || $chapter_hidden === '0'; } // Story hidden? if ( $post->post_type === 'fcn_story' ) { $story_hidden = get_post_meta( $post->ID, 'fictioneer_story_hidden', true ); return empty( $story_hidden ) || $story_hidden === '0'; } // Keep return true; }); // Crop number of posts (remove buffer posts) $posts = array_slice( $posts, 0, get_option( 'posts_per_rss' ) ); // Prime author cache if ( function_exists( 'update_post_author_caches' ) ) { update_post_author_caches( $posts ); } // Feed title $title = sprintf( __( '%s Feed', 'fictioneer' ), get_bloginfo_rss( 'name' ) ); // Feed description $description = sprintf( __( 'Recent updates on %s.', 'fictioneer' ), get_bloginfo_rss( 'name' ) ); // Updated time (any post) $date = mysql2date( 'D, d M Y H:i:s +0000', get_lastpostmodified( 'GMT' ), false ); // Cover image $cover = get_theme_mod( 'og_image' ); // Set header header( 'Content-Type: ' . feed_content_type( 'rss-http' ) . '; charset=' . get_option( 'blog_charset' ), true ); // Echo XML version echo ''; // Fire default action do_action( 'rss_tag_pre', 'rss2' ); ?> > <?php echo $title; ?> ]]> '; } } ?> <?php echo $title; ?> 32 32 ID ); // <-- Start HTML ?> <?php the_title_rss(); ?> ]]> ' . get_category( $cat )->name . ''; } } if ( $fandoms = get_the_terms( $post_id, 'fcn_fandom' ) ) { foreach ( $fandoms as $fandom ) { echo '' . $fandom->name . ''; } } if ( $genres = get_the_terms( $post_id, 'fcn_genre' ) ) { foreach ( $genres as $genre ) { echo '' . $genre->name . ''; } } if ( $characters = get_the_terms( $post_id, 'fcn_character' ) ) { foreach ( $characters as $character ) { echo '' . $character->name . ''; } } if ( $tags = get_the_tags( $post_id ) ) { foreach ( $tags as $tag ) { echo '' . $tag->name . ''; } } rss_enclosure(); do_action( 'rss2_item' ); ?>