Есть ли способ получить контент из другого цикла? Идентификатор 302, и мне нужно отобразить его содержимое на другой странице.
loop
post-content
обкрадывать
источник
источник
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Ответы:
Вы можете использовать
get_page()
для возврата$post
объекта статической страницы:редактировать
Точно так же вы можете использовать
get_post()
для возврата$post
объекта сообщения:источник
setup_postdata( $post );
сначала, после этого вы можете использоватьthe_content();
apply_filters( 'the_content', $post_object->post_content );
чтобы получить содержимое поста вне цикла, вы можете написать что-то вроде этого
источник
Если ваш контент содержит шорткоды, вы должны использовать:
источник
do_shortcode
других слов, кроме «Это может быть медленно» и «Вы можете просто использовать функцию, которую вызывает короткий код». Эти причины действительны только для самых тривиальных и самых простых сценариев. Сбой происходит, когда шорткод создается где-то еще, или если есть несколько шорткодов или шорткодов, смешанных с другим контентом и разметкой. Без веской причины я не согласился бы с утверждением, которого следует избегатьdo_shortcode
. Это пахнет преждевременной оптимизацией .Для полноты, основываясь на комментариях Тима выше и вдохновленных статьей Стивена Харриса , решение, которое позволяет использовать
the_content()
это:И, следовательно, фильтры применяются (абзацы будут вставлены и т. Д.) И шорткоды работают.
источник
Поскольку вы знаете свой целевой идентификатор сообщения (302), вам может пригодиться этот сокращенный синтаксис, который вы можете использовать вне цикла (хотя его производительность почти такая же, как и в любом другом альтернативном методе :)
источник
Вы можете использовать
get_post_data()
функцию, чтобы получить сообщение вне цикла. Поместите этот код в functions.phpа затем добавить этот фрагмент для большего контроля над процессом
источник
Как вы сказали, вы можете использовать решение с
get_post
и$post_object->post_content
, но не забудьте добавить проверку перед использованием этого объекта post:источник
Вы можете просто вызвать get_the_content (postId)
источник
использовать
wp_reset_postdata();
это будет работать .. (отредактировано)posttype может быть «post», «page» или ваш собственный тип записи. Здесь p = 302 - ваш пост ID. Надеюсь, это сработает.
источник
query_posts
если вам не нужно нарушать функциональность страницы. Всегда используйтеWP_Query
илиget_posts
для пользовательских запросов :-)pre_get_posts
фильтр, иthe_post
. Так много деталей.вы можете поместить контент в категорию X и использовать query_post до того момента как это:
источник