我想删除页脚中的“Powered by Wordpress”自定义链接。
我想在子主题的function.php
文件
我不想使用CSS(只是将其隐藏)、编辑原始主题文件(主题更新时将覆盖该文件)或复制footer.php
文件到子主题,并在那里进行编辑(因为在主题更新之后,我必须更新文件)。
我使用的主题是“闪闪发光”。页脚信息函数在中定义extras.php
文件:
function sparkling_footer_info() {
global $sparkling_footer_info;
printf( esc_html__( \'Theme by %1$s Powered by %2$s\', \'sparkling\' ) , \'<a href="http://colorlib.com/" target="_blank">Colorlib</a>\', \'<a href="http://wordpress.org/" target="_blank">WordPress</a>\');
}
并在页脚中调用。php文件(底部几行):
<div id="footer-area">
<div class="container footer-inner">
<div class="row">
<?php get_sidebar( \'footer\' ); ?>
</div>
</div>
<footer id="colophon" class="site-footer" role="contentinfo">
<div class="site-info container">
<div class="row">
<?php if( of_get_option(\'footer_social\') ) sparkling_social_icons(); ?>
<nav role="navigation" class="col-md-6">
<?php sparkling_footer_links(); ?>
</nav>
<div class="copyright col-md-6">
<?php echo of_get_option( \'custom_footer_text\', \'sparkling\' ); ?>
<?php sparkling_footer_info(); ?>
</div>
</div>
</div><!-- .site-info -->
<div class="scroll-to-top"><i class="fa fa-angle-up"></i></div><!-- .scroll-to-top -->
</footer><!-- #colophon -->
</div>
我试着在孩子的function.php
(连同一些变体),但它不起作用:
function remove_sparkling_footer(){
remove_action( \'wp_footer\', \'sparkling_footer_info\' );}
add_action( \'init\', \'remove_sparkling_footer\' );
任何帮助或想法都将不胜感激。
最合适的回答,由SO网友:JHoffmann 整理而成
作为功能sparkling_footer_info()
使用esc_html__()
此函数运行esc_html
在输出之前进行筛选,您可以在那里拦截输出。
add_filter (\'esc_html\', \'wpse_245817_esc_html\', 100, 2 );
function wpse_245817_esc_html( $safe_text, $text ) {
if ( $safe_text == \'Theme by %1$s Powered by %2$s\' ) {
return \'\';
}
return $safe_text;
}
也许您必须根据自己的需要对代码进行一些调整,我也没有测试它。
SO网友:cjbj
功能sparkling_footer_info()
直接从页脚代码调用,无需执行任何可以拦截的操作或筛选器。函数内部也没有过滤器。大概Sparkling的人不想让你把它拿走。de theme的许可证中甚至可能有关于这一点的内容,所以请检查您尝试的行为是否合法。
也就是说,PHP提供了method to redefine functions (所提供的runkit包含在PHP安装中,但并非自动如此)。除非从子主题中的模板调用中删除该函数,否则无法删除该函数,这显然不是您想要的。因此,您可以用一个空函数(简单地说是“return”)重新定义它。
你应该在sparkling_footer_info()
已加载,位于子主题之后functions.php
已加载。例如,您可以将其附加到wp_head
像这样:
add_action (\'wp_head\',\'wpse245817_replace_function\');
function wpse245817_replace_function () {
runkit_function_redefine(\'sparkling_footer_info\',\'\',\'return;\');
}
请注意,我尚未测试此代码。可能需要进行一些调试。