Поддержка Проблемы и решения Как объединить post_in и post__not_in?

  • Решено Anonymous User 8172768

    (@anonymized-8172768)


    Нужно, чтобы отображалась 6 страница, но при этом скрывались 73,39,230,153,206,4. Что нужно добавить? Помогите, пожалуйста!

    <?php $myposts = new WP_Query( array( 'post__not_in' => array( 73,39,230,153,206,4), 'post_type' => 'page', 'orderby' => 'title', 'order' => 'ASC' ) ); ?>
    
    	<?php while ( $myposts->have_posts() ) : $myposts->the_post(); ?>
    
    	<div style="float:left; margin-left:30px; margin-right:0px; margin-bottom:30px;">
    			<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( array(200,300) ); ?></a>
    			<div><a class="model-list" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    			<?php if ( $subtitle = get_post_meta( $post->ID, 'subtitle', true ) ) echo "<span>{$subtitle}</span>"; ?></div>
    </div>
    	<?php endwhile; ?>
Просмотр 12 ответов — с 16 по 27 (всего 27)
  • Это одна строчка вместо Вашего (длинного варианта с post__not_in)
    <?php $myposts = new WP_Query( array( 'post__not_in' => array( 73,39,230,153,206,4), 'post_type' => 'page', 'orderby' => 'title', 'order' => 'ASC' ) ); ?>
    А все свое ниже добавляйте, конечно..

    Автор Anonymous User 8172768

    (@anonymized-8172768)

    Ставлю так
    <?php $mypost = new WP_Query( 'post_parent=6' ); ?>
    Показывает ошибку

    Fatal error: Call to a member function have_posts() on a non-object in

    Оставьте только мою строчку и после нее впишите это
    <?php echo "<pre>"; print_r($mypost); echo "</pre>"; ?>
    Посмотрим, что она вернет..

    По-моему, куда проще тут было пользовать

    get_pages(‘parent=ляляля&exclude=тополя’);

    А то чо-то страшное у вас выходит.

    По-моему, куда проще тут было пользовать

    И каждый раз переписывать exclude ??

    Автор Anonymous User 8172768

    (@anonymized-8172768)

    @wikicms,

    WP_Query Object
    (
    [query_vars] => Array
    (
    [post_parent] => 6
    [error] =>
    [m] => 0
    [p] => 0
    [subpost] =>
    [subpost_id] =>
    [attachment] =>
    [attachment_id] => 0
    [name] =>
    [static] =>
    [pagename] =>
    [page_id] => 0
    [second] =>
    [minute] =>
    [hour] =>
    [day] => 0
    [monthnum] => 0
    [year] => 0
    [w] => 0
    [category_name] =>
    [tag] =>
    [cat] =>
    [tag_id] =>
    [author_name] =>
    [feed] =>
    [tb] =>
    [paged] => 0
    [comments_popup] =>
    [meta_key] =>
    [meta_value] =>
    [preview] =>
    [s] =>
    [sentence] =>
    [fields] =>
    [category__in] => Array
    (
    )

    [category__not_in] => Array
    (
    )

    [category__and] => Array
    (
    )

    [post__in] => Array
    (
    )

    [post__not_in] => Array
    (
    )

    [tag__in] => Array
    (
    )

    [tag__not_in] => Array
    (
    )

    [tag__and] => Array
    (
    )

    [tag_slug__in] => Array
    (
    )

    [tag_slug__and] => Array
    (
    )

    [ignore_sticky_posts] =>
    [suppress_filters] =>
    [cache_results] => 1
    [update_post_term_cache] => 1
    [update_post_meta_cache] => 1
    [post_type] =>
    [posts_per_page] => 10
    [nopaging] =>
    [comments_per_page] => 50
    [no_found_rows] =>
    [order] => DESC
    )

    [tax_query] => WP_Tax_Query Object
    (
    [queries] => Array
    (
    )

    [relation] => AND
    )

    [meta_query] => WP_Meta_Query Object
    (
    [queries] => Array
    (
    )

    [relation] =>
    )

    [post_count] => 0
    [current_post] => -1
    [in_the_loop] =>
    [comment_count] => 0
    [current_comment] => -1
    [found_posts] => 0
    [max_num_pages] => 0
    [max_num_comment_pages] => 0
    [is_single] =>
    [is_preview] =>
    [is_page] =>
    [is_archive] =>
    [is_date] =>
    [is_year] =>
    [is_month] =>
    [is_day] =>
    [is_time] =>
    [is_author] =>
    [is_category] =>
    [is_tag] =>
    [is_tax] =>
    [is_search] =>
    [is_feed] =>
    [is_comment_feed] =>
    [is_trackback] =>
    [is_home] => 1
    [is_404] =>
    [is_comments_popup] =>
    [is_paged] =>
    [is_admin] =>
    [is_attachment] =>
    [is_singular] =>
    [is_robots] =>
    [is_posts_page] =>
    [is_post_type_archive] =>
    [query_vars_hash] => 0ba9a21d28792ddb33e920a5c1120fc9
    [query_vars_changed] =>
    [thumbnails_cached] =>
    [query] => Array
    (
    [post_parent] => 6
    )

    [request] => SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_parent = 6 AND wp_posts.post_type = ‘post’ AND (wp_posts.post_status = ‘publish’ OR wp_posts.post_status = ‘private’) ORDER BY wp_posts.post_date DESC LIMIT 0, 10
    [posts] => Array
    (
    )

    )

    Gaspode,
    Вывел одну страницу.

    <?php $args = array( 'post_type' => 'page', 'orderby' => 'title', 'order' => 'ASC', 'post_parent' => 6 ); ?>
    <?php $myposts = new WP_Query($args); ?>
    
    	<?php while ( $myposts->have_posts() ) : $myposts->the_post(); ?>
    
    	<div style="float:left; margin-left:30px; margin-right:0px; margin-bottom:30px;">
    			<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( array(200,300) ); ?></a>
    			<div><a class="model-list" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    			<?php if ( $subtitle = get_post_meta( $post->ID, 'subtitle', true ) ) echo "<span>{$subtitle}</span>"; ?></div>
    </div>
    	<?php endwhile; ?>

    UPD Исправлено

    Gaspode,
    Вывел одну страницу.

    Неаккуратно пользуетесь, значит)

    Автор Anonymous User 8172768

    (@anonymized-8172768)

    @wikicms

    Parse error: syntax error, unexpected ‘)’ on line 19

    Убрал скобку и заработало!
    @wikicms спасибо большущее!!! 🙂

    Дык, скобку то лишнюю удалите.. И после <?php endwhile; ?> добавьте <?php wp_reset_postdata(); ?> Один раз с ней попробуйте, другой раз без этой строчки.

    Автор Anonymous User 8172768

    (@anonymized-8172768)

    А для чего это строчка, если и так все работает?

    для чего это строчка

    Шут ее знает :)) Паника :))
    А так вообще код удобным получился, если добавится еще одна родительская страница, то новый шаблончик плюс этот код (изменить только значение post_parent) и еще одна секция :))
    Тем более, что в аргументах можно варьировать тьму вариантов для вывода..

Просмотр 12 ответов — с 16 по 27 (всего 27)
  • Тема «Как объединить post_in и post__not_in?» закрыта для новых ответов.