pd: no soy un afiliado, pero parece que la versión pro le brinda la posibilidad de modificar el pie de página directamente a través de la configuración del Personalizador.
– birgire
4 de febrero de 2016 a las 18:01
Gracias, puedo cambiar el encabezado yo mismo, pero quería las mejores prácticas para hacerlo. Y no codificando en el tema principal
– c3cris
08/02/2016 a las 22:30
Para su propósito, agregue el siguiente código en function.php. Recibirá una llamada en el gancho after_setup_theme.
// replace parent function
function child_theme_function () {
// your code goes here
}
function my_theme_setup () {
remove_action( '__colophon', 'tc_colophon_center_block', 1000 );
add_action( '__colophon', 'child_theme_function', 1000 );
}
add_action( 'after_setup_theme', 'my_theme_setup' );
Tu solución solo me llevó a la mitad del camino. Pude mostrar mi pie de página pero no eliminar el anterior. Eso es porque está dentro de una clase. TC_footer_main
– c3cris
3 de febrero de 2016 a las 22:06
Para eliminar el anterior, puede usar: Para obtener más referencias, consulte: benpearson.com.au/…
– Experto en PHP
8 de febrero de 2016 a las 11:04
no estaba demasiado lejos… un problema que puede tener es que está tratando de eliminar el enlace antes de que el tema principal lo haya agregado… la clase podría inicializarse en una etapa posterior…
No estoy muy seguro de cuándo se ejecuta el enlace, pero espero que sea después de init.
add_action('init', 'remove_parent_hook');
function remove_parent_hook(){
remove_action( '__colophon' , array('TC_footer_main','tc_colophon_center_block') , 20); // needs to be the same priority
}
obviamente, ahora puede simplemente agregar una acción para su nueva función.
Existe la posibilidad de que se haya agregado una función anónima, a menudo la importancia de &$this se pasa por alto cuando se intenta eliminar una función enganchada. Esto es una molestia porque wp asignará una cadena aleatoria como el nombre de la clave y el nombre de la función para la función, es diferente cada vez, por lo que no se puede adivinar. Pero podemos buscar el nombre de la función dentro de la clave para que algo como esto funcione
function remove_anon_hk($hook, $function, $priority=10 ){
global $wp_filter;
$hooks= $wp_filter[$hook][$priority];
if(empty ($hooks))
return;
foreach($hooks as $hk=>$data):
if(stripos($hk, $function) !== false ){
unset($wp_filter[$hook][$priority][$hk]);
}
endforeach;
}
add_action('init', function(){
remove_anon_hk('__colophon', 'tc_colophon_center_block');
});
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información