ilit70

Вывод поста по ID

    Рекомендуемые сообщения

    ilit70    1
    ilit70

    Подскажите пожалуйста как вывести анонс поста на страницу (по ID)? Без плагинов,непосредственно в шаблон страницы. Вот для примера код вывода записей из определенной категории:

    <?php

    global $post;

    $category_id = get_cat_id(17);

    $my_query = new WP_Query('cat='. $category_id . '17' . 'offset=' . '&' . 'showposts='. $featured_number .'2');

    while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; $the_post_ids = get_the_ID();

    ?>

    Или <?php $posts = get_posts('orderby=rand&numberposts=2&category=17'); foreach($posts as $post) { ?>

    <div class="post-meta">

    <h2>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></h2>

    <span class="post-date"><?php the_time('F j Y h:i A') ?> | <?php comments_popup_link('Без комментариев', '1 Комментарий', ' Комментарии %'); ?></span>

    <?php if ( has_post_thumbnail() ) { ?>

    " title="<?php the_title(); ?>"><?php the_post_thumbnail(array(50,50), array('class' => 'alignleft')); ?>

    <?php } else { ?>

    " title="<?php the_title(); ?>"><img src="<?php echo bloginfo('template_url'); ?>/scripts/timthumb.php?src=<?php echo get_post_image(); ?>&w=50&h=50&zc=1&q=100&a=t" alt="<?php the_title(); ?>" class="alignleft" />

    <?php } ?>

    <p><?php the_excerpt_feat_cat($excerpt_length=20); ?></p>

    <div class="clearfix"></div>

    </div>< --END -->

    <?php endwhile;?>

    Как правильно изменить выделенную часть кода чтобы получить вывод анонса конкретного поста??? Долго мучился..но все время выпадает ошибка!! Помогите пожалуйста!! Есть куча инфы по выводу как вставить вывод последних, случайных и т.д записей из категорий в шаблон страницы,как вставлять галереи .. виджиты.. Но как вставлять одиночные записи и что для этого нужно не нашел, не где..

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    sigma77    617
    sigma77

    ilit70,

    http://codex.wordpress.org/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_%D0%BF%D0%BE_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%D0%BC/get_post

    Подойдет?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ilit70    1
    ilit70

    Елки палки... Я эту http://codex.wordpre...%D0%BC/get_post страницу уже наизусть выучил... И эту тоже http://codex.wordpress.org/Function_Reference/query_posts Перевел, распечатал и на стенку повесил!! Перепробовал кучу вариантов, всегда выпадает ошибка... Напишите пожалуйста рабочую строку кода!!! Я уже выть готов .. не могу понять где торможу...

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    sigma77    617
    sigma77

    У меня всё работает.

    <?php
    $postId = 66;
    $post = get_post($postId);
    echo '<h2>'.$post->post_title.'</h2>';
    echo '<div>'.$post->post_content.'</div>';
    ?>

    всегда выпадает ошибка...

    Если есть ошибка, то в ней сказано в чём причина.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    ilit70    1
    ilit70

    Спасибо уважаемая!!! У меня так тоже все работает.... В эти дебри я уже лез!!!! Все оказалось до смешного просто....Карма наверное была такая :facepalmxd:

    Было:<?php

    global $post;

    $category_id = get_cat_id(17);

    $my_query = new WP_Query('cat='. $category_id . '17' . 'offset=' . '&' . 'showposts='. $featured_number .'2');

    while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; $the_post_ids = get_the_ID();

    ?>

    Стало: <?php

    global $post;

    $my_query = new WP_Query('p=[id]');

    while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; $the_post_ids = get_the_ID();

    ?>

    И все.... полностью рабочий блок..

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    1thsnd    0
    1thsnd

    Вывожу сокращенный текст поста по рецепту ilit70 в сайдбаре. Под анонсом есть ссылка на страницу поста.

     

    Однако, на странице самого поста этот же пост в сайдбаре выводится полностью, а не до тега <!-- more -->

     

    Как это побороть?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    hedgehog    149
    hedgehog

    Вывожу сокращенный текст поста по рецепту ilit70 в сайдбаре. Под анонсом есть ссылка на страницу поста.

     

    Однако, на странице самого поста этот же пост в сайдбаре выводится полностью, а не до тега <!-- more -->

     

    Как это побороть?

     

    (должно быть внутри цикла)

    global $more;$more = 1;

    А после этих всех извращений советую использовать wp_reset_postdata(), иначе можно словить проблем в других местах, т.к. глобальный объект $post будет ссылаться на какую-то фигню в сайдбаре, а не текущий пост.

    У меня всё работает.

    <?php $postId = 66;   $post = get_post($postId);      echo '<h2>'.$post->post_title.'</h2>';   echo '<div>'.$post->post_content.'</div>';?>

    А можно я позанудствую и скажу, что это плохой вариант, потому что используются данные в сыром виде (не обработанные фильтрами)? :) Если фильтры the_title вы, скорее всего, не заметите, то отвалившееся форматирование (абзацы, переносы строк) в контенте незаметить сложно :)

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах

    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

    • Войти через Facebook
    • Войти через Twitter
    • Войти через Microsoft
    • Войти через LinkedIn
    • Войти через Google