将Woocommerce包装器'div class = woocommerce'更改为“ main class = woocommerce” html5语义

时间:2018-09-10 03:00:27

标签: woocommerce

我正在尝试使用新的html5语义开发商店/站点,所以我有类似...

header
 - nav
main
 - section
 - article
footer

问题在于,当我现在使用woocommerce时,

header
 - nav
div
 - section
 - article
footer

我在woocommerce / includes / class-wc-shortcodes.php上看到了代码,所以我需要您的帮助来创建一个函数来更改并在functions.php上调用此代码,而不是更改woocommerce核心文件。

下面的代码根据需要使用main,然后在核心文件上发布,因此任何更新都将再次覆盖从main到div的更改。

/**
 * Shortcode Wrapper.
 *
 * @param string[] $function Callback function.
 * @param array    $atts     Attributes. Default to empty array.
 * @param array    $wrapper  Customer wrapper data.
 *
 * @return string
 */
public static function shortcode_wrapper(
    $function,
    $atts = array(),
    $wrapper = array(
        'class'  => 'woocommerce',
        'before' => null,
        'after'  => null,
    )
) {
    ob_start();

    // @codingStandardsIgnoreStart
    echo empty( $wrapper['before'] ) ? '<main class="' . esc_attr( $wrapper['class'] ) . '">' : $wrapper['before'];
    call_user_func( $function, $atts );
    echo empty( $wrapper['after'] ) ? '</main>' : $wrapper['after'];
    // @codingStandardsIgnoreEnd

    return ob_get_clean();
}

谢谢您的帮助!

0 个答案:

没有答案