gpt4 book ai didi

php - Wordpress functions.php 子主题

转载 作者:行者123 更新时间:2023-12-03 23:30:44 26 4
gpt4 key购买 nike

实际上我正在使用 Wordpress 建立一个网站,一切正常,但现在我需要在 functions.php 中添加一些更改,这是父文件夹中的原始文件,那么我应该怎么做?是否可以复制 functions.php 子主题中的所有内容然后添加更改?

由于 future 的主题更新,我不想在父文件夹中添加更改。但是告诉我这是否是唯一的选择。

编辑:“不要将父主题的functions.php的全部内容复制到子主题的functions.php中。”是来自 Wordpress Codex https://codex.wordpress.org/Child_Themes 的建议

编辑 2:[已解决] 观看下面的答案。

最佳答案

一个 child 主题是继承另一个主题的功能和样式的主题,称为父主题。 child 主题是 推荐修改现有主题的方式。

如何创建 child 主题

  • 创建 子主题目录 (将子主题命名为父主题的常用方法加上 -child 在末尾添加。)
  • 创建 样式.css
  • 创建 函数.php

  • 样式表必须以以下内容开头(样式表标题):
    /*
    Theme Name: XYZ Child Theme
    Theme URI: http://example.com/themes/spacious/
    Description: XYZ Child theme
    Author: ABC
    Author URI: http://example.com
    Template: XYZ
    Version: 1.0
    */
    /* =Theme customization starts here
    ------------------------------------------------------- */

    需要注意的几点:
  • 您需要将示例文本替换为与您的主题相关的详细信息。
  • Template 行对应于父主题的目录名,所以相应调整。

  • 最后一步是将父子主题样式表排入functions.php中,如下所示:
    add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
    function enqueue_parent_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    }

    最后,要激活子主题,在仪表板中转到外观->主题。查找您创建的子主题并激活它。就是这样。此外,请确保父主题也存在于已安装的主题中,以便子主题正常工作。如果您现在访问您的网站,它应该看起来和父主题激活时一样。

    现在,您可以毫无问题地更改您的子主题!

    如果要修改父主题函数,则只需将其包含在条件标记中即可检查是否已运行该名称的函数:
    <?php
    if ( ! function_exists ( 'my_function' ) ) {
    function my_function() {
    // Contents of your function here.
    }
    }
    ?>

    因此,如果您将父主题中的函数包含在这样的条件标记中,WordPress 将检查您的子主题中是否存在已运行的同名函数,如果是这种情况,它将不会运行该函数从父主题。

    然后,当您在您的子主题中编写一个想要覆盖父主题中的函数时,您只需将其命名为与父主题中的函数相同的名称:
    <?php
    function my_function() {
    // Contents for your function override here.
    }
    ?>

    WordPress 将首先在子主题中运行该功能,当涉及到父主题中的功能时,它会检查它是否已经存在,因为它存在,所以它不会运行它。

    如果你 不想接触父函数。php 那么你就可以:
  • 为子主题功能分配更高的优先级:
    add_action( 'init', 'child_function', 15 );   
  • 从钩子(Hook)中删除父主题函数:
    remove_action( 'init', 'parent_function' );
  • 关于php - Wordpress functions.php 子主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44647028/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com