创建 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文件。为每件小事创建和安装新插件都会损害您网站的性能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:ninezy@qq.com 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。