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


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 -->

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


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

Ответы:


6

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

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

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

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


6

Вот решение, у меня есть основатели, которые работают хорошо ... Кодекс должен быть более конкретным о apply_filter ... использовал его каждый раз

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

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


5

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.