janochen
  • 0
Мастер

Ошибка при исключении сообщения из другого цикла (с использованием его идентификатора)

  • 0

Я пытаюсь получить идентификатор сообщения в первом цикле (используя <?php $postid = get_the_ID(); ?> ) и использовать его в переменной ( $postid ), чтобы исключить этот самый пост из второго цикла (используя post__not_in ):

 <?php

/**
 * Replies Loop
 *
 * @package bbPress
 * @subpackage Theme
 */

?>

            <?php if ( ! get_query_var( 'paged' ) ) : ?>

                <?php
                    $args = array(
                        'post_type' => 'bbp_reply',
                        'posts_per_page' => '1',
                        'paged' => '2',
                        'post_parent' => $post->ID,
                        'gdsr_sort' => 'thumbs',
                        'gdsr_ftvmin' => '1',
                        'gdsr_order' => 'desc'
                    );
                ?>
                <?php query_posts( $args ); ?>
                <?php while ( have_posts() ) : the_post(); ?>

                    <div class="most-voted">
                        <h2><?php  the_title(); ?></h2>
                        <?php the_content(); ?>
                        <?php bbp_reply_admin_links(); ?>
                    </div>

                    <?php $postid = get_the_ID(); // capture the id ?>

                <?php endwhile; ?>
                <?php wp_reset_query(); ?>

                <p>________________</p>

            <?php endif; ?>



<?php
    $default = array(
        'post__not_in' => $postid
    );
?>

<?php if ( bbp_has_replies( $default ) ) : ?>

    <?php get_template_part( 'pagination', 'bbp_replies' ); ?>


            <?php while ( bbp_replies() ) : bbp_the_reply(); ?>

                <div class="topic-entry">

                    <div class="topic-author">
                        <?php bbp_reply_author_link( array( 'type' => 'avatar' ) ); ?>
                        <?php bbp_reply_author_link( array( 'type' => 'name' ) ); ?>
                        <?php printf( __( '%1$s', 'bbpress' ), get_the_date() ); ?>
                    </div>

                    <div class="topic-content">
                        <?php bbp_reply_content(); ?>
                        <span class="like-counter"><?php DisplayVotes(get_the_ID()); ?></span>
                    </div>

                    <?php wp_gdsr_render_article_thumbs(); ?>

                    <?php bbp_reply_admin_links(); ?>

                </div>

            <?php endwhile; ?>

<?php endif; ?>

Но почему-то я получаю эту ошибку:

Warning: array_map(): Argument #2 should be an array in /home/alex/www/taiwantalk/wp-includes/query.php on line 2104 Warning: implode(): Invalid arguments passed in /home/alex/www/taiwantalk/wp-includes/query.php on line 2104 
Share
  1. post__not_in принимает массив, поэтому измените

     <?php $postid = get_the_ID(); // capture the id ?>
    

    к

     <?php $postid[] = get_the_ID(); // capture the id ?>
    

    и вы будете в порядке.

    • 0

Оставить ответ

You must login to add an answer.