Измените оболочку Woocommerce 'div class = woocommerce' на 'main class = woocommerce' html5 семантика - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь разработать свой магазин / сайт, используя новую семантику html5, поэтому у меня есть такие вещи, как ...

header
 - nav
main
 - section
 - article
footer

Проблема в том, что при использовании woocommerce у меня теперь

header
 - nav
div
 - section
 - article
footer

Я вижу код в woocommerce / includes / class-wc-shortcodes.php. Поэтому мне нужна ваша помощь, чтобы создать функцию для изменения и вызова этого кода в functions.php вместо изменения основных файлов woocommerce.

Ниже код использует main так, как я хочу, затем проблема в файлах core, поэтому любое обновление будет отменять изменение снова с 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();
}

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...