在今天的教程中,我们将看到如何使用主题定制器来改变免费GeneratePress主题的页脚的版权文本。
在我之前的教程中,我已经展示了如何在免费GeneratePress主题中添加一个自定义选项。今天的教程是基于这段代码的。没有那段代码,这段代码将无法工作。因此,先看那段代码,然后按照本教程。
删除GeneratePress免费版中的版权文本
我们可以很容易地从主题函数.php中修改代码。但问题是,如果主题被更新,这些代码将被删除。为了摆脱这种情况,我们可以使用Code Snippets插件来添加我们的代码。
最好的方法是使用子主题的functions.php 中的代码。如果你不知道如何创建一个子主题,你可以跟随我的GeneratePress子主题教程。
在我们的教程中,我们要把它变成动态的。例如,我们想在页脚显示版权的文字,如果我们直接在functions.php中写代码,那么当我们想显示另一个文字时,再修改代码就会非常困难。
这就是为什么主题定制器是改变页脚信用文本的最佳选择。这是因为我们可以在不改变function.php中的代码的情况下,随时轻松改变文本。所以,让我们先检查一下代码。
function gpchild_copyright_text () {
$search = array(
'%copy%',
'%current_year%',
'%blog_name%',
'%blog_url%'
);
$replace= array(
'©',
date( 'Y' ),
get_bloginfo('name'),
'<a href="'.get_site_url().'">'.get_bloginfo('name').'</a>'
);
$copyright_text = get_theme_mod('footer_credit_text');
if( $copyright_text ){
$copyright_text = str_replace( $search, $replace, $copyright_text);
}
return $copyright_text;
}
add_filter( 'generate_copyright', 'gpchild_copyright_text' );
GeneratePress有一个过滤器,即 "generate_copyright"。 通过这个过滤器,我们可以改变我们的页脚信用文本或版权文本。在GeneratePress高级版中有一些选项,如 %current_year%、%copy%等。通过使用我们的代码,我们也可以在GeneratePress免费主题中使用这些功能。
这里 get_theme_mod('footer_credit_text') 是主题定制器页脚文本区的值。请看下面的图片来正确理解它。
你可以看到版权文本的格式。锚文本中的**%blog_url%**将生成博客名称。所以不需要在锚文本中写上博客的名字。
| %copy% | 它将显示版权符号© |
| %current_year% | 它将显示当前年份,即2021年。 |
| %blog_name% | 只显示博客名称,如:CodeHasBugTutorial |
| %blog_url% | 使博客的锚链接像<a href="https://codehasbug.com">CodeHasBug Tutorial</a> |