Inserir em functions.php
/**
* Intercepta a chamada de metas e cria uma meta virtual chamada 'conteudo'.
* Utiliza $wpdb para buscar direto no banco e evitar loops infinitos de cache.
*/
function criar_meta_virtual_conteudo_seguro( $value, $object_id, $meta_key, $single ) {
// 1. Verifica se a meta solicitada é a 'conteudo'
if ( 'conteudo' === $meta_key ) {
global $wpdb;
// 2. Busca o conteúdo diretamente no banco de dados, ignorando o cache do WordPress
$conteudo = $wpdb->get_var(
$wpdb->prepare(
"SELECT post_content FROM {$wpdb->posts} WHERE ID = %d LIMIT 1",
$object_id
)
);
// 3. Se o post existir e trouxer um resultado (mesmo que vazio), retorna o valor
if ( null !== $conteudo ) {
// Respeita o parâmetro $single (retorna string ou array)
return $single ? $conteudo : array( $conteudo );
}
}
// 4. Retorna o valor original para não quebrar as outras metas
return $value;
}
// O filtro roda de forma segura antes do WP ir buscar metas no banco
add_filter( 'get_post_metadata', 'criar_meta_virtual_conteudo_seguro', 10, 4 );