Skip to main content
edit code
Source Link

I solved this issue using pre_get_post. I found one implementation that works for me:

if ( ! function_exists( 'ucc_add_cpts_to_pre_get_posts' ) ) {
    function ucc_add_cpts_to_pre_get_posts( $query ) {
        if ( $query->is_main_query() && ! is_post_type_archive() && ! is_singular() && ! is_404() ) {
            $my_post_type = get_query_var( 'post_type' );
            if ( empty( $my_post_type ) ) {
                $args = array(
                    'exclude_from_search' => false,
                    'public' => true,
                    '_builtin' => false
                );
                $output = 'names';
                $operator = 'and';
                $post_types = get_post_types( $args, $output, $operator );

                // Or uncomment and edit to explicitly state which post types you want. 
                // $post_types = array( 'event', 'location' );

                // Add 'link' and/or 'page' to array() if you want these included.
                // array( 'post', 'link', 'page' ), etc.
                $post_types = array_merge$query->set( $post_types'post_type', array( 'post' ) 'your_custom_type');
                $query->set( 'post_type''posts_per_page', $post_types 'your_posts_per_page');
            }
        }
    }
}
add_action( 'pre_get_posts', 'ucc_add_cpts_to_pre_get_posts' );

http://uncommoncontent.com/2012/01/28/add-custom-post-types-to-the-loop You must remove query_posts from your template.

I solved this issue using pre_get_post. I found one implementation that works for me:

if ( ! function_exists( 'ucc_add_cpts_to_pre_get_posts' ) ) {
    function ucc_add_cpts_to_pre_get_posts( $query ) {
        if ( $query->is_main_query() && ! is_post_type_archive() && ! is_singular() && ! is_404() ) {
            $my_post_type = get_query_var( 'post_type' );
            if ( empty( $my_post_type ) ) {
                $args = array(
                    'exclude_from_search' => false,
                    'public' => true,
                    '_builtin' => false
                );
                $output = 'names';
                $operator = 'and';
                $post_types = get_post_types( $args, $output, $operator );

                // Or uncomment and edit to explicitly state which post types you want. 
                // $post_types = array( 'event', 'location' );

                // Add 'link' and/or 'page' to array() if you want these included.
                // array( 'post', 'link', 'page' ), etc.
                $post_types = array_merge( $post_types, array( 'post' ) );
                $query->set( 'post_type', $post_types );
            }
        }
    }
}
add_action( 'pre_get_posts', 'ucc_add_cpts_to_pre_get_posts' );

http://uncommoncontent.com/2012/01/28/add-custom-post-types-to-the-loop

I solved this issue using pre_get_post. I found one implementation that works for me:

if ( ! function_exists( 'ucc_add_cpts_to_pre_get_posts' ) ) {
    function ucc_add_cpts_to_pre_get_posts( $query ) {
        if ( $query->is_main_query() && ! is_post_type_archive() && ! is_singular() && ! is_404() ) {
            $my_post_type = get_query_var( 'post_type' );
            if ( empty( $my_post_type ) ) {
                $query->set('post_type', 'your_custom_type');
                $query->set('posts_per_page', 'your_posts_per_page');
            }
        }
    }
}
add_action( 'pre_get_posts', 'ucc_add_cpts_to_pre_get_posts' );

http://uncommoncontent.com/2012/01/28/add-custom-post-types-to-the-loop You must remove query_posts from your template.

Source Link

I solved this issue using pre_get_post. I found one implementation that works for me:

if ( ! function_exists( 'ucc_add_cpts_to_pre_get_posts' ) ) {
    function ucc_add_cpts_to_pre_get_posts( $query ) {
        if ( $query->is_main_query() && ! is_post_type_archive() && ! is_singular() && ! is_404() ) {
            $my_post_type = get_query_var( 'post_type' );
            if ( empty( $my_post_type ) ) {
                $args = array(
                    'exclude_from_search' => false,
                    'public' => true,
                    '_builtin' => false
                );
                $output = 'names';
                $operator = 'and';
                $post_types = get_post_types( $args, $output, $operator );

                // Or uncomment and edit to explicitly state which post types you want. 
                // $post_types = array( 'event', 'location' );

                // Add 'link' and/or 'page' to array() if you want these included.
                // array( 'post', 'link', 'page' ), etc.
                $post_types = array_merge( $post_types, array( 'post' ) );
                $query->set( 'post_type', $post_types );
            }
        }
    }
}
add_action( 'pre_get_posts', 'ucc_add_cpts_to_pre_get_posts' );

http://uncommoncontent.com/2012/01/28/add-custom-post-types-to-the-loop