创建 WordPress 主题时只需要使用两个文件:index.php文件(充当网站的主模板文件)和style。 css 文件,这是您网站的主要样式文件。还有第三个文件,名为functions.php,它实际上不是必需的,但在主题中仍然发挥着重要作用。

在本教程中,我们的重点将是了解functions.php文件是什么、它的一些常见用途以及何时应该使用它而不是创建插件。让我们开始吧。

functions.php文件是什么?

WordPress 中的functions.php文件用于向您的 WordPress 网站添加新功能或特性。您可以在此文件中编写 PHP 代码。此代码可以定义您自己的自定义函数或调用现有的 WordPress 函数。我们将在下一节中了解如何通过functions.php文件向您的 WordPress 网站添加新功能。

一个 WordPress 安装完全有可能有多个主题。每个主题都有自己的functions.php文件。但是,当有人加载您的网站时,只有活动主题的functions.php文件中的代码才会真正运行。

您需要先找到functions.php文件,然后才能对其进行编辑。您可以在/wp-content/themes/theme-name/目录中找到它。这里,主题名称是您已安装并激活的任何主题的名称。

您在网站上安装的任何子主题也可以有自己的functions.php文件。与其他主题不同,子主题的functions.php文件不会覆盖父主题的functions.php文件。它实际上会添加父主题提供的功能。

functions.php文件的使用

您可以使用functions.php文件执行很多操作。我们将在这里了解其中一些内容。

排队脚本和样式

您可能希望在网站中包含其他脚本和样式以加载到前端。实现此目的的最佳方法是借助wp_enqueue_scripts挂钩。与它的名字相反,这个钩子对于将脚本和样式排入队列非常有用。以下是在functions.php文件中使用它的示例。

function monty_scripts_styles() {

wp_enqueue_style( 'my-style', get_template_directory_uri() . '/css/custom-style.css', array(), '1.2.0', 'all' );

wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/custom-script.js', array( 'jquery' ), '1.5.6', true );

}

add_action( 'wp_enqueue_scripts', 'monty_scripts_styles' );

使用 wp_enqueue_scripts 挂钩添加样式和脚本可确保文件不会多次加载等,从而提高性能。您可以阅读本教程,了解如何以正确的方式将 CSS 加载到 WordPress 中,以了解更多信息。

wp_enqueue_style() 和 wp_enqueue_script() 函数接受多个参数来指定源、版本、依赖项等。

创建自定义短代码

WordPress 短代码可帮助人们向其网站添加动态或静态内容,而无需编写复杂的代码。想想诸如最新帖子列表、图库中的一些图像、当前日期或简单的问候之类的内容。

您可以在functions.php文件中编写一些代码来添加自定义短代码。

function monty_greeting_shortcode() {
    $current_user = wp_get_current_user();
    
    if($current_user) {
        $name = $current_user->display_name;
    } else {
        $name = 'Guest';
    }
    
    $greeting = 'Hello, '.$name.'!';
    
    return $greeting;
}

add_shortcode( 'greet_readers', 'monty_greeting_shortcode' );

这是一个非常简单的示例,您可以在前端的任何位置使用 greet_readers 短代码为登录用户添加问候语 Hello, Display Name! 和 Hello, Guest!对于其他人。

现在尝试编写您自己的短代码来返回您想要显示的内容。

删除 WordPress 版本号

出于多种原因,您可能有兴趣检查您网站的 WordPress 版本。

但是,此信息不应公开可见。 WordPress 添加了一个生成器元标记,该标记可在 HTML 源代码中公开显示您网站上当前安装的 WordPress 版本。您只需将以下行添加到functions.php文件即可删除生成器标记。

add_action( 'wp_head', 'wp_generator');

如果您还想从其他地方(例如 RSS 提要)删除信息,可以考虑使用以下行。

add_filter('the_generator', '__return_empty_string');

内置的 __return_empty_string() 函数将返回一个空字符串,并阻止您的版本信息显示在前端。

禁用 WordPress 管理工具栏

默认情况下,WordPress 在前端顶部为所有登录用户添加了一个管理工具栏。您可以在functions.php文件中添加以下行,以立即对所有人禁用它。

add_filter( 'show_admin_bar', '__return_false' );

请记住,无法在后端禁用 WordPress 管理工具栏。

禁用 WordPress 自动更新

虽然通常不建议您在网站上禁用 WordPress 自动更新,但您可能出于多种原因想要这样做,例如防止意外故障。您应该阅读本教程以了解有关 WordPress 自动更新的更多信息。

如果您确定要禁用 WordPress 自动更新,请将以下行添加到您的functions.php文件中。

add_filter('auto_update_core', '__return_false');
add_filter('auto_update_theme', '__return_false');
add_filter('auto_update_plugin', '__return_false');

这三行将分别禁用核心更新、主题更新和插件更新。

总结

在本教程中,我们学习了很多有关functions.php文件的知识。我们现在知道这个文件是什么、它位于哪里,以及如何使用它向我们的网站添加新功能。还可以使用插件向您的网站添加功能。那么最好的方法是什么?

如果您要添加的功能是特定于主题的,或者您只想添加一点点新功能,则应该考虑使用functions.php文件。为每件小事创建和安装新插件都会损害您网站的性能。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

返回列表

相关文章