Estoy tratando de hacer algo similar a esta pregunta aquí: ¿ remove_action o remove_filter con clases externas?
Estoy tratando de eliminar el
<!-- This site is optimized with the Yoast WordPress SEO plugin v1.0.3 - http;//yoast.com/wordpress/seo/ -->
mensaje del complemento.
Y antes de que me grites acerca de cómo esto puede ser poco ético, el autor dice que está bien hacerlo aquí: http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-how-to-remove-dangerous -inserted-yoast-message-in-page-headers? replies = 29 # post-2503475
He encontrado la clase que agrega el comentario aquí: http://plugins.svn.wordpress.org/wordpress-seo/tags/1.2.8.7/frontend/class-frontend.php
Básicamente, la WPSEO_Frontend
clase tiene una función llamada debug_marker
que se llama entonces por una función llamada head
que se añade a continuación a wp_head
de__Construct
Soy nuevo en las clases, pero encontré una manera de eliminar completamente la cabeza haciendo
global $wpseo_front;
remove_action( 'wp_head', array($wpseo_front,'head'), 1, 1 );
pero solo quiero quitarle la debug_marker
parte. Intenté esto pero no funciona
remove_action( 'wp_head', array($wpseo_front,'head','debug_marker'), 1, 1 );
Como dije, soy nuevo en las clases, por lo que cualquier ayuda sería genial.
fuente
Gracias por toda su ayuda, finalmente lo resolví. Creé un functions.php para el tema de mi hijo, luego agregué
fuente
remove_class_action
para eliminar la acción / filtro gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53No creo que puedas hacer eso usando
remove_action
. El argumento de la función enremove_action
no le ayudará, ya que ladebug_marker()
función no era la función que se utilizó en laadd_action()
llamada.Yoast presumiblemente tiene algo así como
add_action( "wp_head", "head" )
en su código. Por lo tanto, puede eliminar la función "head", perodebug_marker
no se agregó explícitamente como una acción.Tú podrías
WPSEO_Frontend
clase y sobrecargue ladebug_marker
función para devolver "". TBH, no estoy seguro de cómo funcionaría esto en términos de WP cargando el complemento, pero podría valer la pena investigarlo.fuente
Encontrar este hilo después de trabajar en la misma solución que la mencionada
Steve Claridge
, es decir:Extienda la
WPSEO_Frontend
clase y sobrecargue ladebug_marker
función para devolver ""Detallé los pasos a continuación, aunque me estoy atascando en el paso final.
Crear un complemento de personalización
Como se menciona en este artículo de WP Tavern , "la forma más fácil de lograr esto es crear un complemento de funcionalidad que se ejecute junto a él".
Así que seguí creando mi primer complemento después de este artículo de ElegantTheme .
Extiende la clase relevante.
Fue entonces cuando las cosas se complicaron. Agregué lo siguiente, pero mi función de anulación todavía no se activa por alguna razón.
fuente
Descubrí que puedes eliminar la acción debug_marker en functions.php. El complemento Yoast se ejecuta en la acción wp_head. Acabo de tomar el gancho de acción que sigue directamente después de eso, es decir, wp_enqueue_scripts y allí conecté una función que eliminó la salida debug_marker. Para esto también debe pasar el objeto de complemento. Además, el número de prioridad debe ser el mismo que el establecido desde el complemento.
Sin embargo, esto no elimina el
parte, porque eso se repite en la cabeza de la función de contenedor crucial del complemento . Podrías intentar sobrescribir eso.
fuente
Para agregar a la respuesta de Ahmad, puede eliminar todos los comentarios html con la misma cantidad de código, ya que Yoast no es el único complemento que hace eso.
fuente
Me encontré con un fragmento que elimina todos los comentarios SEO de Yoast WordPress del front-end. También modifica el enfoque de búfer de salida que utilizan las respuestas de @ bryan-willis y @ ahmad-m.
Simplemente coloque el fragmento en el
functions.php
archivo php de su tema o de un complemento / tema personalizado.Lo dejaré aquí como referencia: el crédito va al autor del fragmento
fuente
Esta es una versión modificada de @ ahmad-m Answer , mediante la aplicación de filtros puede realizar múltiples cambios de contenido en el encabezado html.
fuente
Encontró una solución similar para la
functions.php
que no utiliza la prioridad codificada,2
sino que lee y utiliza dinámicamente la prioridad de Yoastadd_action()
.fuente
Vea la función flush_cache en wordpress-seo / frontend / class-frontend.php
Encuentra esta línea de código
Reemplazar con
Gracias al creador de este gran complemento.
fuente