我如何 "move" 将此功能转移到我的子主题以便我可以更改一些参数?

How do I "move" this function over to my child theme so I can change some parameters?

我正在使用的这个父主题在它自己的 functions.php 文件中确定网站的整体配色方案。我只是想更改该 switch 语句中使用的一些颜色代码。我怎样才能将它“移动”到我的子主题的 functions.php 文件中,以便我可以编辑这些颜色代码?我已经尝试将整个 function() 复制到我的子主题中,但它给了我一个错误,因为该函数已经被调用。

这是来自父 functions.php 文件的代码:

    function wpjobboard_theme_color_scheme() {

    $img_directory = get_template_directory_uri() . '/stylesheets/img/';

    $color_scheme = get_theme_mod('wpjobboard_theme_color_scheme');
    // default
    if ('green' == $color_scheme) {
        return;
    }
    switch ($color_scheme) {
        case 'blue':
            $normal_color = '#28475f';
            $darken_color = '#59a7db';
            $lighten_color = '#5eb2ea';
            break;
        case 'mint':
            $normal_color = '#3abd8f';
            $darken_color = '#38b78b';
            $lighten_color = '#40ce9c';
            break;
        case 'red':
            $normal_color = '#e74c3c';
            $darken_color = '#e04a3a';
            $lighten_color = '#f05748';
            break;
        default: return;
    }
    
    extract( apply_filters('jobeleon_color_scheme', compact( $normal_color, $darken_color ) ) );
    
// map tooltip setting is on job.php
    echo '<style>';
    echo "
.jobeleon-normal-color {
    color: $normal_color;
}
.jobeleon-normal-bg, .noUi-connect {
    background-color: $normal_color;
}
.jobeleon-normal-border {
    border-color: $normal_color;
}
.jobeleon-darken-color {
    color: $darken_color;
}
.jobeleon-darken-bg {
    background-color: $darken_color;
}
.jobeleon-darken-border {
    border-color: $darken_color;
}


::selection {
        background: $normal_color;
}
::-moz-selection {
        background: $normal_color;
}
a,
.widget li a:hover,
.wpjb-element-input-radio .wpjb-field,
.widget .recentcomments a,
.comment-list .edit-link a        {
        color: $normal_color;
}
.btn,
.widget input[type=\"submit\"],
body:after,
input[type=\"submit\"],
input[type=\"reset\"],
button,
.wpjb-button,
#wpjb-step .wpjb-current-step:before,
#wpjb-step .wpjb-begone-step:before,
.wpjb-filters .wpjb-sub-filters,
.wpjb-filters .wpjb-top-filter > a,
#wpjb-step:after,
.page-numbers a,
.comment-list .reply a,
#wpjb-paginate-links .page-numbers,
.customSelectInner:after, 
.wpjb-new-btn:hover,
.wpjb-dropdown
{
        background-color: $normal_color;
}
.btn:hover,
.widget input[type=\"submit\"]:hover,
input[type=\"submit\"]:hover,
input[type=\"reset\"]:hover,
button:hover,
.wpjb-button:hover,
.page-numbers a:hover,
.comment-list .reply a:hover,
#wpjb-paginate-links .page-numbers:hover
{
        background-color: $darken_color;
}
.wpjb-element-input-radio .wpjb-field input:checked
{
        border-color: $normal_color;
}
.wpjb-filters .wpjb-top-filter > a:after {
        border-left-color: $normal_color;
}
.wpjb-box { background-color: $normal_color; }
.wpjb-box:hover { background-color: $darken_color; }
.wpjb .blue span { background-color: $normal_color; }
    
.wpjb .wpjb-motif { color: $normal_color; }
.wpjb .wpjb-motif-bg { background-color: $normal_color; }
.wpjb .wpjb-motif-border { border-color: $normal_color; }
.wpjb .wpjb-motif-border-top { border-top-color: $normal_color; }
.wpjb .wpjb-motif-border-right { border-right-color: $normal_color }
.wpjb .wpjb-motif-border-bottom { border-bottom-color: $normal_color; }
.wpjb .wpjb-motif-border-left { border-left-color: $normal_color; }


";
    echo '</style>';
}

如果我没记错的话,你好像用的是“Jobeleon”主题。

在这种情况下,您可以使用过滤器来添加自己的颜色主题。

此配色方案随后可在您的后台外观 -> 自定义面板中访问。

在您的子主题中,只需在 'jobeleon_color_scheme' 上添加过滤器。

add_filter('jobeleon_color_scheme', 'my_jobeleon_color_scheme');
  function my_jobeleon_color_scheme($color) {
    return array(
      'normal_color' => 'orange',
      'darken_color' => 'darkorange'
      'lighten_color' => 'yellow'
    );
}

你可以根据自己的喜好改变深橙色和黄色。这可以是文本或十六进制颜色。

来源:https://wpjobboard.net/blog/introducing-jobeleon/#comment-73860

编码愉快:)