【问题标题】:How do you modify a WordPress theme class with a child theme?如何修改带有子主题的 WordPress 主题类?
【发布时间】:2013-04-06 01:33:51
【问题描述】:

我正在使用一个名为“views base”的主题。文档在这里:http://wp-types.com/documentation/views-inside/views-base-theme/views-base-customization/

我已经创建了一个子主题,并且正在尝试弄清楚如何将新的小部件区域添加到主题中。

父主题的functions.php文件有这一行: require_once('class_base_theme.php');

该文件包含一个名为“class_base_theme”的类,该类具有 $sidebar_array 属性,其中包含所有小部件区域的数组。

我可以很容易地在这个父类中添加一个新区域,只需将它添加到 $sidebar_array 属性。但是我不知道如何在子主题中扩展和修改这个类。我不能在我的子主题的 functions.php 文件中执行此操作,因为它是在父主题的 functions.php 文件之前调用的。

【问题讨论】:

  • 我能够通过将 class_base_theme.php 文件复制到我的子主题中来完成我需要的工作,然后在我的子主题的 functions.php 文件中执行 require_once('class_base_theme.php') 。不过,有没有更好的方法来做到这一点?
  • 我也想知道这个问题的答案,有人知道最好/正确的方法吗?
  • 其实要看父主题。如果父级在加载类之前使用if (!class_exists('class_name')),那么它会起作用,但如果不是,你会在尝试重新声明类时遇到错误。我建议延长课程。在你的主题中创建一个新的 php 文件,需要它,然后像 Child_Class extends Parent_Class {} 那样扩展父类

标签: wordpress wordpress-theming


【解决方案1】:

实际上,它取决于父主题。如果父级在加载类之前使用 if (!class_exists('class_name')),那么它会起作用,但如果不是,你会在尝试重新声明类时遇到错误。我建议延长课程。在你的主题中创建一个新的 php 文件,需要它,然后像 Child_Class extends Parent_Class {} 那样扩展父类

现在,在您的新类 Child_Class 中,您应该能够访问 $sidebar_array 并使用它做任何您想做的事情,以及在需要时使用父类的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多