Jump to content
  • 0

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


ilit70
 Share

Question

Подскажите пожалуйста как вывести анонс поста на страницу (по 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;?>

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

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0

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

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

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

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

Link to comment
Share on other sites

  • 0

Спасибо уважаемая!!! У меня так тоже все работает.... В эти дебри я уже лез!!!! Все оказалось до смешного просто....Карма наверное была такая :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();

?>

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

Link to comment
Share on other sites

  • 0

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

 

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

 

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

Link to comment
Share on other sites

  • 0

Вывожу сокращенный текст поста по рецепту 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 вы, скорее всего, не заметите, то отвалившееся форматирование (абзацы, переносы строк) в контенте незаметить сложно :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy