WooCommerce изменить значок загрузки счетчика - PullRequest
0 голосов
/ 21 ноября 2018

IM пытается изменить значок счетчика загрузки WooCommerce.Это определено в woocommerce.css:

.woocommerce .blockUI.blockOverlay::before {
    height: 1em;
    width: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -.5em;
    margin-top: -.5em;
    content: '';
    -webkit-animation: spin 1s ease-in-out infinite;
    animation: spin 1s ease-in-out infinite;
    background: url(../images/icons/loader.svg) center center;
    background-size: cover;
    line-height: 1;
    text-align: center;
    font-size: 2em;
    color: rgba(0,0,0,.75);
}

Я попытался изменить loader.svg с помощью пользовательского css:

.woocommerce .blockUI.blockOverlay::before {
     background: url(http://www.localhost.de/wp-content/uploads/custom-loader.svg) center center !important;
}

Но значок не изменится.Итак, я немного погуглил и нашел вот это:

add_filter( 'woocommerce_ajax_loader_url', 'custom_loader_icon', 10, 1 );
function custom_loader_icon() {
    return __( get_home_path() . 'wp-content/uploads/custom-loader.svg', 'woocommerce' );
}

Но значок загрузочного счетчика остается прежним.Что я могу сделать, чтобы изменить это?Я не знаю, что я должен попробовать сейчас ...

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Следующие правила css работают в последней версии Woocommerce.Я включил их в хук wp_head, так как его легко протестировать:

Вы будете использовать этот значок для тестирования, который вы поместите в свою активную дочернюю тему под "* 1006".* "каталог, переименовывающий файл my_spinner.gif.

Если вы используете тему вместо дочерней, вы будете использовать функцию get_template_directory_uri() вместо get_stylesheet_directory_uri() в коде.

Код:

add_action('wp_head', 'custom_ajax_spinner', 1000 );
function custom_ajax_spinner() {
    ?>
    <style>
    .woocommerce .blockUI.blockOverlay:before,
    .woocommerce .loader:before {
        height: 3em;
        width: 3em;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -.5em;
        margin-top: -.5em;
        display: block;
        content: "";
        -webkit-animation: none;
        -moz-animation: none;
        animation: none;
        background-image:url('<?php echo get_stylesheet_directory_uri() . "/img/my_spinner.gif"; ?>') !important;
        background-position: center center;
        background-size: cover;
        line-height: 1;
        text-align: center;
        font-size: 2em;
    }
    </style>
    <?php
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

enter image description here

0 голосов
/ 21 ноября 2018

Попробуйте следующий код.Предполагая, что ваш custom-loader.svg находится в корне каталога «uploads».

add_filter( 'woocommerce_ajax_loader_url', 'custom_loader_icon', 10, 1 );
function custom_loader_icon($str_replace) {
    $upload_dir = wp_upload_dir();
    $str_replace = $upload_dir['baseurl'].'/wp-content/uploads/custom-loader.svg'
    return $str_replace;
}

Надеюсь, это работает.

...