PHP — объединение последних сообщений с недавней работой

#php #jquery #wordpress

#php #jquery #wordpress

Вопрос:

я пытаюсь добавить 2 отдельных канала на свою домашнюю страницу WordPress (последние работы с портфолио и последние сообщения в блоге). Я хочу, чтобы оба набора находились в пределах одного ul. Мне удалось загрузить ленту портфолио, но у меня возникли проблемы с лентой блога.

 <ul>
    <?php 
    $args = array( 'post_type' => 'work', 'posts_per_page' => 4 );
    $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post();
            echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >';
                echo '<div class="recent-thumb">'; the_post_thumbnail(); echo '</div>';
                echo '<div class="recent-title"><span>'; the_title(); echo '</span></div>';
            echo '</a></li>';
        endwhile;
    ?>

    <?php
    $args = array( 'post_type' => 'post', 'posts_per_page'=> 4 );
    $the_query = new WP_Query( $args ); 
    while ($the_query -> have_posts()) : $the_query -> the_post();
        echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >';
            echo '<div class="home-blog-category">'; user_the_categories(); echo '</div>';
            echo '<div class="home-blog-title">'; the_title(); echo '</div>';
            echo '<div class="home-blog-excerpt">'; echo excerpt(27); echo '</div>';
            echo '<span class="home-blog-plus"><span class="home-blog-plus-wrap"><span class="horizontal"></span><span class="vertical"></span></span></span>';
        echo '</a></li>';
    endwhile;
    ?>
</ul>
  

Кто-нибудь может помочь с получением ленты сообщений для извлечения? Я уверен, что это не самый эффективный способ сделать это, поэтому, если у кого-нибудь есть лучший способ объединить их, это также будет оценено! Мои знания PHP очень ограничены 🙂

Приветствия!

Ответ №1:

Используйте функцию array_combine в php, чтобы объединить два результата ( $the_query amp; $ loop ) и использовать один цикл while .

http://www.w3schools.com/php/func_array_combine.asp

Комментарии:

1. Хорошо, но мой массив «post» не работает, вы знаете почему?

2. используйте wp_reset_query() перед новым WP_Query( $args); codex.wordpress.org/Function_Reference/wp_reset_query