Измените «Вернуться в магазин», чтобы вернуться на предыдущую страницу. - PullRequest
1 голос
/ 05 мая 2020

Я нашел приведенный ниже код для добавления кнопки «Вернуться в магазин», он отлично работает

add_action('woocommerce_cart_actions', function() {
  ?>
  <a class="button wc-backward" href="<?php echo esc_url( apply_filters( 'woocommerce_return_to_shop_redirect', wc_get_page_permalink( 'shop' ) ) ); ?>"> <?php _e( 'Return to shop', 'woocommerce' ) ?> </a>
  <?php
});

Интересно, есть ли способ изменить его, чтобы вернуться на предыдущую страницу, например, нажав вернуться в браузер к предыдущему просмотренному продукту?

И еще один шаг, может ли текст быть динамическим c, говорящим «Вернуться на [название предыдущей страницы]»

Это может быть сложно!

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать что-то вроде этого

Подробнее о parse_url

Это зависит от того, как построены ваши ссылки

function action_woocommerce_cart_actions(  ) {
    // Pass the URL it came from. Expl: https://www.example.com/shop/product-1/
    $previous = $_SERVER['HTTP_REFERER'];

    // Get last part from url. Expl: product-1
    $last_part = basename( parse_url( $previous, PHP_URL_PATH ) );

    ?>
    <a class="button wc-backward" href="<?php echo $previous ?>">
    <?php _e( 'Return to ' . $last_part, 'woocommerce' ) ?>
    </a>
    <?php
}
add_action( 'woocommerce_cart_actions', 'action_woocommerce_cart_actions', 10, 0 );
...