Правильный способ получения содержимого страницы

15 мар. 2011 г., 22:57:36
Просмотры: 42.9K
Голосов: 8

Мне нужно получить содержимое определенной страницы (например, page(12))

Я использовал следующий код:

<?php $id=47; $post = get_page($id); echo $post->post_content;  ?>

Работает хорошо, за исключением совместимости с qtranslate - возвращает французский и английский текст

Но цикл работает нормально, возвращает только версию на нужном языке

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div id="post">
<?php the_content(); ?>
</div> <!-- .post -->

Итак, вопрос.... КАК получить содержимое конкретной страницы внутри цикла...

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

Это было очень полезно! Спасибо! Мне было сложно найти то, что казалось простым запросом.

User User
22 мар. 2012 г. 00:14:51
Все ответы на вопрос 4
0

Вот решение, которое я нашел и которое отлично работает... codex должен быть более конкретным насчет apply_filter ... использовал его постоянно

$id=47;
$post = get_page($id);
$content = apply_filters('the_content', $post->post_content);
echo $content;

Но я нашел отличное место, где можно задавать вопросы (ЗДЕСЬ)! спасибо, ребята!

16 мар. 2011 г. 00:32:43
0

Просто для уточнения:

Вы смешали две вещи. qTranslate хранит разные языки в одной и той же записи. Если вы вызываете get_content(), $post->content или любой другой прямой запрос, вы получите всё содержимое со всеми языками из базы данных.

Что делает qTranslate — он создаёт фильтр-хук, который прикреплён к хуку the_content. Если кто-то вызывает the_content() в шаблоне страницы, все остальные языки будут отфильтрованы.

Так что вы правы. Чтобы отфильтровать другие языки, вам нужно применить фильтр-хук the_content к вашему выводу.

16 мар. 2011 г. 13:36:18
0

Эта функция используется нечасто, но лично мне нравится функция get_post_field(). Она компактна, но при этом достаточно гибкая, когда вам нужно получить одно конкретное поле записи.

15 мар. 2011 г. 23:46:35
0

Вы можете использовать get_page, например так:

http://codex.wordpress.org/Function_Reference/get_page

15 мар. 2011 г. 23:16:23