O shortcode do plugin do Wordpress não funciona


9

Eu tenho um código de acesso definido em um plug-in da seguinte maneira:

// [tag1] -> Some Longer Text
function shortcode_example1() {
    return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');

Agora, dentro de uma página do wordpress, estou tentando acessar o plugin da seguinte maneira:

[tag1]

No entanto, o código de acesso não é executado e a saída é apenas "[tag1]". Você pode ajudar?

Obrigado pela ajuda.


Seu código funciona para mim no WP 3.9.2, em um plugin ou functions.php. Outros códigos de acesso funcionam bem?
Gabriel

1
Também confirmo que esse código curto funciona bem. Alguma coisa removeu o do_shortcodefiltro do the_contentgancho? Tente mudar para um tema padrão (o seu tema está usando the_content()?) E desabilitar todos os plugins. Em seguida, habilite-os 1 por 1 para encontrar o potencial conflito.
helgatheviking

Respostas:


31

Há algumas coisas para verificar aqui

  • Um: o seu plugin está ativado.

  • Dois: Seu código de acesso está no seu arquivo principal de plug-in. Se esse código estiver em outro arquivo dentro do seu plugin, você incluiu esse arquivo extra no arquivo principal do plugin

  • Terceiro: você não tem nenhum tipo de erro no arquivo de plug-in que desativa o plug-in após a ativação. Você configurou debug para true. Um dos membros do site possui um excelente plugin de depuração disponível para download no wordpress.org chamado Debug Objects

  • Quarto: Tente mover o seu código curto para o functions.php do seu tema para garantir que seu código curto esteja realmente funcionando. Se não funcionar dentro do seu tema, o problema pode estar no seu próprio tema

  • Cinco: Como sugerido por @helgatheviking, você não está filtrando o the_content()que possa causar esse comportamento?

  • Seis: Se todas as opções acima falharem, desative todos os plug-ins, mude para um tema incluído e verifique novamente. Se o problema persistir, atualize / reinstale o Wordpress, pois esse pode ser um arquivo principal corrompido.


Eu fiz a lista de verificação: 1 = verificar !, 2 = sim !, 3 = não, 4 = ok, 5 = não, 6-> funcionou! Depois de mudar meu wp local (para teste) de 'Sydney Theme' para 'Twenty Fourteen', o SC é mostrado. Parece que existem temas que impedem a exibição de SCs nas postagens.
Martin Pfeffer

Obrigado Pieter por esta lista de verificação. Acontece que eu não incluí meu arquivo corretamente ... woops. Funciona bem agora :)
Byte de xadrez

Fiz o seguinte e ainda não funciona. Eu tenho a nova instalação do WordPress (5.0.2) com o código adicionado ao arquivo functions.php. Mas quando eu coloco [shortcodename] em uma página, ele é tratado como texto. O que está errado? Eu uso o tema padrão: Twenty Sixteen.
hal

Esta é uma lista de verificação super útil. A única coisa que eu acrescentaria seria o Seven: verifique se o editor de páginas não está ativando seu código de acesso como o meu: [plc_get_matter_detail_per_contact contatos = 6c131- <wbr /> 668f13139e ] Esse WordBreak 'útil' me ferrou por um tempo. Obrigado editor da página ...
Brian Stinar

-1

Adicione isso

    add_filter('the_content', 'do_shortcode');

1
Por quê? O que isso faz? Onde eles adicionariam isso? Por favor edite sua resposta usando a editar link acima e adicione mais informações sobre como isso ajuda a resolver o problema.
Howdy_McGee

-4

Obrigado por suas respostas. Após uma investigação mais aprofundada, descobri que o arquivo do plug-in em que meu código de acesso foi definido estava aparecendo como "inativo". Depois que mudei minhas definições de códigos de acesso para um arquivo ativo, tudo começou a funcionar. Espero que isso seja útil para quem se deparar com isso no futuro.

Obrigado novamente!


Aceite a resposta correta em vez da sua.
Chess Byte
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.