Estou tentando fazer algo semelhante a esta pergunta aqui: remove_action ou remove_filter com classes externas?
Estou tentando remover o
<!-- This site is optimized with the Yoast WordPress SEO plugin v1.0.3 - http;//yoast.com/wordpress/seo/ -->
mensagem do plugin.
E antes que você grite comigo sobre como isso pode ser antiético, o autor diz que não há problema em fazer aqui: http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-how-to-remove-dangerous -inserted-yoast-message-in-page-headers? answers = 29 # post-2503475
Encontrei a classe que adiciona o comentário aqui: http://plugins.svn.wordpress.org/wordpress-seo/tags/1.2.8.7/frontend/class-frontend.php
Basicamente, a WPSEO_Frontend
classe tem uma função chamada debug_marker
que é então chamado por uma função chamada head
que é então adicionado a wp_head
em__Construct
Sou iniciante nas aulas, mas encontrei uma maneira de remover completamente a cabeça fazendo
global $wpseo_front;
remove_action( 'wp_head', array($wpseo_front,'head'), 1, 1 );
mas eu só quero remover a debug_marker
parte dele. Eu tentei isso, mas não funciona
remove_action( 'wp_head', array($wpseo_front,'head','debug_marker'), 1, 1 );
Como eu disse, sou iniciante nas aulas, então qualquer ajuda seria ótima.
fonte
Obrigado por toda a sua ajuda, eu finalmente resolvi. Criei um functions.php para o meu tema filho e, em seguida, adicione
fonte
remove_class_action
para remover a ação / filtro gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53Eu não acho que você será capaz de fazer isso usando
remove_action
. O argumento da função inremove_action
não o ajudará, pois adebug_marker()
função não foi a função usada naadd_action()
chamada.Yoast presumivelmente tem algo parecido
add_action( "wp_head", "head" )
em seu código. Portanto, você pode remover a função "head", masdebug_marker
não foi explicitamente adicionada como uma ação.Você poderia
WPSEO_Frontend
classe e sobrecarregue adebug_marker
função para retornar "". TBH, não tenho certeza de como isso funcionaria em termos de carregamento do plugin pelo WP, mas poderia valer a pena investigar.fonte
Localizando esse thread depois de trabalhar na mesma solução mencionada por
Steve Claridge
, ou seja:Estenda a
WPSEO_Frontend
classe e sobrecarregue adebug_marker
função para retornar ""Eu detalhei as etapas abaixo, embora eu esteja ficando preso na etapa final.
Crie um plug-in de personalização
Como mencionado neste artigo do WP Tavern , "a maneira mais fácil de fazer isso é criar um plug-in de funcionalidade que será executado ao lado dele".
Então, eu comecei a criar meu primeiro plugin, seguindo este artigo do ElegantTheme .
Estenda a classe relevante.
Foi quando as coisas ficaram complicadas. Eu adicionei o seguinte, mas minha função de substituição ainda não é acionada por algum motivo.
fonte
Descobri que você pode remover a ação debug_marker em functions.php. O plugin Yoast é executado na ação wp_head. Eu apenas peguei o gancho de ação que se segue diretamente a seguir, ou seja, wp_enqueue_scripts e lá enganchei uma função que removeu a saída debug_marker. Para isso, você também precisa passar o objeto do plugin. Além disso, o número de prioridade deve ser igual ao número definido no plug-in.
No entanto, isso não remove o
parte, porque isso é ecoado na cabeça da função de invólucro crucial do plug-in . Você pode tentar substituir isso.
fonte
Para adicionar à resposta do Ahmad, você pode remover todos os comentários html com a mesma quantidade de código, já que o Yoast não é o único plugin que faz isso.
fonte
Encontrei um trecho que remove todos os comentários de SEO do Yoast WordPress do front end. Também modifica a abordagem de buffer de saída usada pelas respostas de @ bryan-willis e @ ahmad-m.
Simplesmente coloque o snippet no seu tema
functions.php
ou em um arquivo php de plugin / tema personalizado.Vou deixar aqui como referência - o crédito vai para o autor do snippet
fonte
Esta é uma versão modificada do @ ahmad-m Answer . Ao aplicar filtros, você pode fazer várias alterações no conteúdo do cabeçalho html.
fonte
Foi encontrada uma solução semelhante para a
functions.php
qual não usa prioridade codificada,2
mas lê e usa dinamicamente a prioridade do Yoastadd_action()
.fonte
Veja a função flush_cache em wordpress-seo / frontend / class-frontend.php
Encontre esta linha de código
Substituir com
Obrigado ao criador deste ótimo plugin.
fonte