• Здравствуйте! Есть необходимость вывести несколько миниатюр постов по id (id содержатся в массиве, который образуется выполнением функции).

    Так не работает (выводит все посты):

    <?php
    include 'osnova.php'; //тут функция getRecommendations
    $recom = getRecommendations("Dmitriy", "sim_evk"); //тут получаем ассоциативный массив, ключи которого - id
    $ex = array_keys($recom); // в $ex получаем массив: Array ( [0] => 29 [1] => 59 [2] => 34 )
    pokaz_post($ex);
    ?>

    Но так работает (выводит посты с id=29,59,34):

    $ex=array(29,59,34);
    pokaz_post($ex);

    Код функции pokaz_post():

    function pokaz_post($ex) {
    query_posts(array('post_type'=>'post','post__in' => $ex ) );
    if (have_posts()) :
      while (have_posts()) : the_post();
        print '<div id="post-'; the_ID();
    print '"'; post_class(); print '>';
        print '<h4>'. get_the_title(). '</h4>';
        if ( has_post_thumbnail()) { ?>
      <a href="<?php the_permalink();?>" title="<?php the_title_attribute(); ?>"   <?php the_post_thumbnail(); ?> </a>
     <?php } ?>
    <?php print '</div>';
      endwhile;
    endif;
    wp_reset_query();
    }

    Помогите разобраться с проблемой!

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Получайте не ассоциативный, а нумерованный массив.

    в $recom массив такой: Array ( [29] => 5.5787317827418 [59] => 4.2009588252337 [34] => 3.2444540849839 ) ;
    с помощью функции array_keys ключи массива $recom становятся значениями массива $ex: Array ( [0] => 29 [1] => 59 [2] => 34 )

    array_keys это видел. Пробовали перебрать ассоциативный массив в цикле и загнать ключи в нумерованный массив, который отдать далее?

    $ex2=array();
    foreach ($recom as $key=>$value){$ex2[]=$key;}
    pokaz_post($ex2);

    выдает также все посты

    С телефона сейчас, без проб на компе мысль дальше не идет, магия какая-то

    Магия заключалась в том, что код вставлял через плагин Exec-PHP, вставив через «Редактор» проблема отпала. Спасибо за помощь.

Просмотр 6 ответов — с 1 по 6 (всего 6)

Тема «Вывод постов по id, содержащихся в массиве» закрыта для новых ответов.