Existe uma maneira de obter o conteúdo de outra pessoa fora do loop? O ID é 302 e eu preciso exibir o conteúdo disso em outra página.
loop
post-content
Roubar
fonte
fonte
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Respostas:
Você pode usar
get_page()
para retornar o$post
objeto de uma página estática:Editar
Da mesma forma, você pode usar
get_post()
para retornar o$post
objeto de uma postagem:fonte
setup_postdata( $post );
primeiro, depois disso, você pode usarthe_content();
apply_filters( 'the_content', $post_object->post_content );
para obter o conteúdo da postagem fora do loop, você pode escrever algo como isto
fonte
Se o seu conteúdo incluir códigos de acesso, você deve usar:
fonte
do_shortcode
além de dizer: "Pode ser lento" e "Você pode apenas usar a função que o código curto chama". Esses motivos são válidos apenas para os cenários mais triviais para os mais simples. Ele falha quando o código de acesso é gerado em outro lugar, ou se houver vários códigos de acesso ou códigos de acesso misturados com outro conteúdo e marcação. Sem uma razão convincente, eu discordaria da afirmação a evitardo_shortcode
. Isso cheira a otimização prematura .Para completar, com base no comentário de Tim acima e inspirado no artigo de Stephen Harris , a solução que permite o uso
the_content()
é:E, portanto, os filtros são aplicados (parágrafos serão inseridos etc.) e os códigos de acesso funcionam.
fonte
Como você conhece seu ID de postagem de destino (302), você pode achar útil essa sintaxe abreviada que pode ser usada fora do loop (embora seu desempenho seja praticamente o mesmo que em qualquer outro método alternativo :)
fonte
Você pode usar a
get_post_data()
função para postar fora do loop. Coloque este código em functions.phpe adicione este trecho para ter mais controle sobre o processo
fonte
Você pode usar, como dito, a solução com
get_post
e$post_object->post_content
, mas não se esqueça de adicionar uma verificação antes de usar esse objeto de postagem:fonte
Você pode simplesmente chamar get_the_content (postId)
fonte
usá-
wp_reset_postdata();
lo funcionará .. (editado)posttype pode ser "post", "page" ou seu tipo de postagem personalizado. Aqui p = 302 é o seu ID de postagem. Espero que funcione.
fonte
query_posts
menos que precise interromper as funcionalidades da página. Sempre useWP_Query
ouget_posts
para consultas personalizadas :-)pre_get_posts
filtro ethe_post
. Tantos detalhes.você pode colocar o conteúdo em uma categoria X e usar query_post antes, desta forma:
fonte