Insira qualquer conteúdo num post do WordPress
Parece o caos, mas com um pouco de boa vontade é possível resolver este problema, sem nem precisar recorrer a plugins complicados: basta inserir um pequeno código no functions.php do seu tema em uso, e passar a utilizar os campos personalizados (custom fields) para inserir o que quiser em qualquer post.
A técnica usada para resolver este problema já foi explicada anteriormente aqui. Vamos criar um shortcode chamado [ field ] (os espaços entre os colchetes e a palavra field são para evitar que o meu shortcode field seja interpretado aqui) que fará simplesmente pegar o conteúdo de um campo personalizado qualquer e inseri-lo sem qualquer modificação no ponto exato do post.
Primeiro, o código abaixo deverá ser inserido em algum lugar do functions.php do tema em uso.
function field_func($atts) { global $post; $name = $atts['name']; if (empty($name)) return; return get_post_meta($post->ID, $name, true); } add_shortcode('field', 'field_func');
Feito isso, e estando o functions.php devidamente salvo, vamos criar um campo personalizado, com um nome qualquer, que vai receber o conteúdo que vamos inserir em algum lugar no post.
Na imagem acima, apenas mostramos que criamos um campo chamado flash, preenchido com o HTML fornecido pelo “embed code” de um vídeo qualquer do YouTube.
Agora, caso eu quisesse inserir o vídeo exatamente no próximo parágrafo bastaria eu escrever:
[field name="flash" /]
Isso mesmo: o shortcode chamado field recebe um parâmetro chamado name, que contém o nome do campo personalizado que vai ser inserido naquele ponto exato do post.
Com isso, você pode ficar sossegado, pois no modo HTML ou no modo visual seu conteúdo HTML ou de script nunca mais se perderá, embora seja à custa de perder um pouquinho do apelo e da facilidade do editor visual.


Valeu por compartilhar.