Como você obtém o conteúdo formatado de uma postagem usando a API do WordPress?


8

Eu tentei usar

<?php
$my_id = 7;
$post_id_7 = get_post($my_id); 
echo $post_id_7->post_content;
?> 

com base na documentação aqui .

O artigo que estou tentando recuperar possui um código curto, que é escolhido por um plug-in no meu site e formatado em HTML.

O problema é quando eu envio o post_content para o site, o código curto não é captado pelo plug-in e efetivamente apenas escrevo o código curto diretamente no navegador.

Existe uma maneira de obter o código curto avaliado corretamente? Ou estou usando a função errada?

Respostas:


23

O campo de objeto da postagem contém conteúdo bruto conforme é armazenado no banco de dados. Isso deve formatá-lo para como ele aparece quando recuperado com tags de modelo:

$content = apply_filters('the_content', $content);

Esse filtro executa várias funções de formatação, incluindo a análise de códigos de acesso. Algo próximo disso:

>>>>>   the_content
8   (object) WP_Embed -> run_shortcode (1) 
    (object) WP_Embed -> autoembed (1) 
10  wptexturize (1) 
    convert_smilies (1) 
    convert_chars (1) 
    wpautop (1) 
    shortcode_unautop (1) 
    prepend_attachment (1) 
11  capital_P_dangit (1) 
    do_shortcode (1) 

Muito obrigado. Eu estive olhando o códice por uma hora.
Joseph

@ Joseph - Embora muitos membros da comunidade principal do WordPress tenham muito orgulho do Codex, também acho extremamente difícil usá-lo para encontrar algo nele, a menos que você já saiba o que está procurando. Graças a Deus pelas respostas do WordPress!
MikeSchinkel

exatamente o que eu estava procurando :)
Atif Mohammed Ameenuddin

@MikeSchinkel I tendem a fazer uma pesquisa de texto em uma cópia local do núcleo quando estou nessa situação ... mas o códice geralmente me pistas sobre o texto para fazer a pesquisa sobre ;-)
WraithKenny
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.