• Имеется такой цикл:

    do
      {
      $post_id = $myrow['post_id'];
      }
      while($myrow = mysql_fetch_array($result));

    Как в ВП сделать вывод постов по post_id? (Как вывести анонсы, картинки и все остальное)

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Можно использовать get_post() в цикле, но лучше query_posts (
    http://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters ) с параметром
    post__in (array) — use post ids. Specify posts to retrieve.
    И, разумеется, Цикл для вывода.

    Не уверен, что понял вопрос. но.. мб нужен get_posts?

    какой у меня медленный интернет 🙂

    Не могу всеравно понять как выводить с помощью query_posts.
    Если у меня идет проверка и выводятся ИД постов, которые мне надо вывести в переменной $post_id.

    <?php
    $sizeofPOST = sizeof($_POST); // есть ли данные для запроса?
    if ($sizeofPOST != 0) // если были переданы данные для запроса, то формируем запрос
    {
     // формирование запроса к БД:
     $zapros = "SELECT post_id FROM wp_postmeta WHERE post_id < 0 ";
     unset($_POST["Найти!"]);
     foreach($_POST as $value)
     {
     $zapros .= "OR (<code>meta_key</code> LIKE 'ingredients' AND <code>meta_value</code> LIKE '%";
     $zapros .= $value . "%') ";
     }
     // это вывод запроса к БД:
    // далее вывод рецептов в цикле:
    $result = mysql_query($zapros);
    $myrow = mysql_fetch_array($result);
    
    do
      {
      $post_id = $myrow['post_id'];
    query_posts('$post_id');
      }
      while($myrow = mysql_fetch_array($result));
    }
    ?>

    Как вывести с помощью query_posts хотябы заголовок и анонс, чтобы понять по примеру как она работает.

    Модератор Юрій

    (@yube)

    WHERE post_id < 0

    И много там постов с отрицательным ID?

    <code>meta_key</code>

    WTF?

    query_posts(‘$post_id’);

    Допустим, $post_id — положительное число (хотя с оглядкой на < 0 это еще вопрос). Но что это за формат запроса? Где Вы такое видели? query_posts с get_post() не перепутали?

    Как вывести с помощью query_posts

    А никак. query_posts() только делает выборку. Выводит Цикл. Примеров в Кодексе уйма.

    Проблема с переменной в масиве через запятую

    Есть определенные ИД записей в переменной $post_id , в переменную $array делаю так, чтобы эти ИД шли через запятую, и с помощью query_posts хочу вывести .

    ‘post__in’ => array($array) — выводим только записи, которые находятся в $array (например: 3, 300, 454, 123).

    $post_id = $myrow['post_id'];
      $array = implode( $post_id ,',');
      query_posts (array('posts_per_page' => 7, 'post__in' => array($array)));

    Но вот когда закидываю на сайт ничего не происходит, когда подставляю вместо $array определенные цыфры ИДшников в ‘post__in’ => array($array) тогда все нормально. В чем может быть проблема?

    Модератор Юрій

    (@yube)

    $array = implode( $post_id ,','); — получаем строку
    'post__in' => array($array) и говорим, что это массив.
    Красиво.

    Да, брет какой-то получается:( . думал получится разделить ИД запятыми, так как они $post_id выводит их слитно 123321456

    Если я правильно понял, мне нужно как-то добавить ИД постов в массив, чтобы был вид, например,
    query_posts (array(‘posts_per_page’ => 7, ‘post__in’ => array(12, 14, 123, 454, 477, 535, 555)));
    Только не знаю как сделать ИД постов через запятую.

    Модератор Юрій

    (@yube)

    мне нужно как-то добавить ИД постов в массив,

    Совершенно верно!

    чтобы был вид, например,
    query_posts (array(‘posts_per_page’ => 7, ‘post__in’ => array(12, 14, 123, 454, 477, 535, 555)));

    А тут — мимо 🙁

    Так:

    query_posts (array('posts_per_page' => 7, 'post__in' => $posts_array));

    Видимо, Вам придется еще немного поразбираться с php. Как минимум, в части переменных, массивов и литералов. Понять, как говорил профессор Преображенский, «кто на ком стоял«. Ничего архисложного там нет. Желаю удачи!

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

Тема «Вывод постов по post_id» закрыта для новых ответов.