在 WordPress 主题中注册定制器选项的最佳方式:一个钩子还是多个钩子?

问题描述 投票:0回答:1

我对 WordPress 主题开发比较陌生,我想向 WordPress 定制器添加选项。我正在考虑两种不同的方法来注册定制器设置和控件,但我不确定哪一种更优化。

方法一: 在这种方法中,我在 index.php 文件中注册一个钩子并包含所需的文件。

<?php
if (!function_exists('mytheme_customizer')) {
    function mytheme_customizer(WP_Customize_Manager $wp_customize): void {
        require_once MYTHEME_DIR . '/inc/customizer/breadcrumb-customizer.php';
        // other include files
    }
}
add_action('customize_register', 'mytheme_customizer');

方法二: 在这种方法中,每个文件独立注册自己的钩子。

breadcrumb-customizer.php

<?php
if (!function_exists('mytheme_breadcrumb_customizer')) {
    function mytheme_breadcrumb_customizer(WP_Customize_Manager $wp_customize): void {
        // code
    }
}
add_action('customize_register', 'mytheme_breadcrumb_customizer');

abc-customizer.php

<?php
if (!function_exists('mytheme_abc_customizer')) {
    function mytheme_abc_customizer(WP_Customize_Manager $wp_customize): void {
        // code
    }
}
add_action('customize_register', 'mytheme_abc_customizer');

...

这两种方法我都尝试过,我个人更喜欢方法 2,因为它使定制器选项保持模块化和组织化。然而,我注意到 WordPress.org 上的许多主题倾向于使用方法 1。

我担心在多个文件中注册钩子(方法2)可能效率较低或较慢。我想了解许多主题中偏爱方法 1 的原因,并确定哪种方法在性能和最佳实践方面更优化。

php wordpress performance wordpress-theming wordpress-hook
1个回答
0
投票

如果您的主题预计未来会增长并且您看重模块化可维护性,那么方法2是一个好的选择性能的影响是最小,并且组织的好处超过了潜在的缺点,如果您喜欢简单并从事较小的项目,那么方法1非常适合您。 基本上,选择取决于您的具体需求和项目的规模。

© www.soinside.com 2019 - 2024. All rights reserved.