2016-05-28 2 views
2

мне удалось изменить HTML разметку Посмотреть кнопку Корзина на успех сообщения, так что я мог бы добавить id="open_cart" к нему, но я также хочу, чтобы добавить данные - атрибут, такой как data-cart="open", на выход html, однако возвращается только id.WooCommerce добавить DATA- атрибут для просмотра корзины кнопку на успех сообщение

Любые идеи о том, как добавить к нему атрибут data-?

function my_add_to_cart_message() { 
    if (get_option('woocommerce_cart_redirect_after_add') == 'yes') : 

    $message = sprintf('%s<a id="open_cart" data-target="open-cart" href="%s" class="button">%s</a>', __('Successfully added to cart.' , 'woocommerce'), esc_url(get_permalink(woocommerce_get_page_id('cart'))), __('View Cart', 'woocommerce')); 

    return $message; 

} 
add_filter('wc_add_to_cart_message', 'my_add_to_cart_message'); 

Это то, что выше функция возвращает:

<a id="open_cart" href="http://example.com/cart/" class="button wc-forward">Ver carrinho</a> 

data-cart="open" игнорируется. Просто раздражает.

+0

Да, так странно. Я удаляю свой ответ ... Может быть, вы могли бы попробовать добавить этот атрибут с небольшим сценарием запросов, ориентированным на специальный селектор классов, который вы могли бы добавить в свой крючок ... – LoicTheAztec

+0

Ну, вот и все, я буду продолжать исследования, возможно, я прихожу с решение. Спасибо за помощь. –

ответ

1

Вот краткое объяснение, почему это происходит.

Посмотрите на шаблон Woocommerce success.php, который отвечает за отображение успешных сообщений.

<?php foreach ($messages as $message) : ?> 
    <div class="woocommerce-message"><?php echo wp_kses_post($message); ?></div> 
<?php endforeach; ?> 

wp_kses_post() функции дезинфицирует выход переменных $ сообщения путем проверки разрешенных тегов и атрибуты.

Вот ваше решение:

Добавить этот фрагмент в свой functions.php

Вам нужно подключить в wp_kses_allowed_html фильтр и добавить атрибут данных, так что wp_kses_post() функция не отфильтровывает его.

+0

Вау! Это кажется многообещающим. Я дам ему попробовать как можно скорее! Спасибо за подробное объяснение. Это на моем списке дел, так как не помню, когда:/ –

+0

Я могу подтвердить, что он работает. Большое спасибо! –

+0

Это удовольствие! –

Смежные вопросы