Arquivos externos são usados para exibir conteúdo externo em seu site WordPress. Com a ajuda de um shortcode, você pode facilmente conseguir isso.
Instruções: Adicione o seguinte código ao arquivo functions.php do seu tema WordPress para incluir o shortcode de arquivo externo.
function show_file_func( $atts ) {
extract( shortcode_atts( array(
'file' => ''
), $atts ) );
if ($file!='')
return @file_get_contents($file);
}
add_shortcode( 'show_file', 'show_file_func' );
Agora você pode usar o shortcode abaixo com o link do seu arquivo externo para incluir o arquivo externo em suas postagens e páginas do WordPress.
[show_file file="http://www.mysite.com/somefile.html"]
Você também pode gostar de criar um formulário de upload de arquivos no WordPress.
Por favor, considere adicionar uma segunda versão do seu código que usa um transient que expira, por exemplo, a cada 24h ou similar, para evitar chamadas muito frequentes de external file_get_contents().
developer.wordpress.org/apis/handbook/transients/
Simplesmente Uau! Eu tinha um código funcionando antes, mas a atualização recente o estragou e agora está retornando um erro. Passei horas consertando, mas parecia inútil. Procurei uma solução e encontrei a sua. Combina perfeitamente com meu código agora. Obrigado!
Olá, de nada. Ficamos felizes em saber que nosso código ajudou.
Você forneceu a solução para minhas incontáveis horas de pesquisa em um minuto. Você é um amor.
Muito obrigado pela contribuição bem explicada e simples.
Procurei por muito tempo no Google e afins por um código assim. Todos os códigos que tentei até agora não funcionaram.
Mas este do post funciona muito bem e foi escrito de forma compreensível.
Só uma coisinha ainda me incomoda.
Se eu chamo o link a ser incluído diretamente, todas as letras são exibidas corretamente.
Se eu olho para o link incluído no WP, ö,ä,ü se tornam engraçados com caracteres de ? são exibidos.
Por que isso, que no arquivo (link) a ser incluído depositei o seguinte código.
Eu também coloquei a linha no WP, onde também coloquei o link de inclusão, mas não funcionou.
Como posso ainda corrigir este pequeno erro?
Você poderia postar um exemplo de como o link muda?
Está feito. Muito obrigado.
Que bom que ajudou, Baba!
Variáveis do WP não são reconhecidas no arquivo incluído. Também tentei $_GET, $_POST, mas sem sucesso. Como corrigir isso?..
Isso não é algo que eu tenha tentado fazer, no entanto, não tenho certeza por que você gostaria de incluir variáveis do WP quando poderia fazer isso dentro da postagem ou usando o functions.php e shortcode. O que você está tentando fazer, isso pode me ajudar a entender a melhor opção.
Este trecho tem sérias implicações de segurança. Poderia permitir que qualquer editor ou usuário acessasse e lesse o conteúdo de qualquer arquivo no servidor. Você poderia usar a API HTTP integrada do WordPress e usar wp_remote_get em vez de file_get_contents().
Bom
Parece bom, mas como incluir código que funciona? Quero dizer, tenho um material da NextGen Gallery que incluiria dessa forma, mas o shortcode não funciona (ele mostra o shortcode da NextGen e não as miniaturas), também os plugins não funcionam (como auto-hyperlink, nem mesmo o CSS funciona) no conteúdo do arquivo incluído remotamente.
muito bom!
Isso funcionará em uma área de widget?
Você precisaria habilitar o shortcode para widgets, por exemplo:
add_filter(‘widget_text’, ‘do_shortcode’);