получить ссылку на страницу Мой аккаунт в WooCommerce

4 янв. 2016 г., 14:46:58
Просмотры: 108K
Голосов: 29

Я пытаюсь отправить email клиенту после покупки товаров, и когда клиент нажимает на ссылку в письме для оценки товара, он должен быть перенаправлен на страницу личного кабинета/Мой аккаунт.
Я добавил следующий код в functions.php для получения URL страницы My Account в WooCommerce:

$myaccount_page = get_option( 'woocommerce_myaccount_page_id' );
if ( $myaccount_page ) {
  $myaccount_page_url = get_permalink( $myaccount_page );
  }

Я модифицировал файл customer-completed-order.php и добавил этот код

    <h2> Перейдите на страницу вашего аккаунта для отзыва </h2>
    <a href="http://animax.cf/product/happy-ninja/#reviews">
        <img src="http://animax.cf/wp-content/uploads/2015/12/product-reviews.png" alt="Оценка товара">
    </a>

Я хочу получить url страницы my account WooCommerce в коде выше. Как мне это сделать?

0
Все ответы на вопрос 5
2
45

Вы можете получить URL личного кабинета WooCommerce следующим образом:

<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Мой аккаунт',''); ?>"><?php _e('Мой аккаунт',''); ?></a>

Теперь вы можете вставить это в шаблон письма о завершенном заказе.

<h2> <a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Мой аккаунт',''); ?>">Перейдите на страницу вашего аккаунта для отзыва</a> </h2>
<a href="http://animax.cf/product/happy-ninja/#reviews">
    <img src="http://animax.cf/wp-content/uploads/2015/12/product-reviews.png" alt="Рейтинг товара" title="Рейтинг товара">
</a>
4 янв. 2016 г. 15:14:00
Комментарии

Я только начинаю изучать PHP и WordPress. Так что огромное спасибо команде WPTC-Troop.

Ans Ans
4 янв. 2016 г. 15:27:03

Вместо использования get_option и get_permalink, просто воспользуйтесь функцией WooCommerce для этого: wc_get_page_permalink( 'myaccount' )

David David
31 окт. 2017 г. 23:08:40
0
21

Функция woocommerce wc_get_page_id поможет вам создавать URL-адреса страниц WooCommerce

Примеры использования:

Мой аккаунт

<?php echo get_permalink( wc_get_page_id( 'myaccount' ) ); ?>

Магазин

<?php echo get_permalink( wc_get_page_id( 'shop' ) ); ?>
7 мая 2018 г. 20:52:05
0

Существует ещё один способ сделать это, используя нативные конечные точки WooCommerce (вы можете использовать любые зарегистрированные конечные точки WC или сторонних плагинов, которые интегрируются с WC): <?php echo esc_url( wc_get_account_endpoint_url( 'edit-account' ) ); ?>

Для панели управления можно использовать что-то вроде этого: <?php echo esc_url( trailingslashit( wc_get_account_endpoint_url( '' ) ) ); ?>

4 февр. 2019 г. 10:57:37
0

Возвращает страницу аккаунта без конечных точек:

echo wc_get_account_endpoint_url('dashboard');
11 июн. 2020 г. 10:52:37
1
-2
     <?php  
       if ( is_front_page() && is_home() ) {
        // Главная страница по умолчанию
        echo "Главная страница по умолчанию";

        } elseif ( is_front_page()){

            echo "Статичная главная страница";
        // Статичная главная страница

        } elseif ( is_home()){
            echo "Страница блога";
        // Страница блога

        } elseif ( is_page( 'cart' ) || is_cart()){
            echo "Корзина";
        // Страница корзины

        }  elseif (is_single()){
            echo "Запись (is_single)";
        // Отдельная запись

        } elseif (is_product_category()){
            echo "Категория товара (is_product_category)";
        } 
         else {
        echo "Другая страница";
        // Все остальные случаи
        }
      ?>
15 июл. 2019 г. 10:40:01
Комментарии

Пожалуйста, [отредактируйте] ваш ответ и добавьте объяснение: почему это может решить проблему?

fuxia fuxia
15 июл. 2019 г. 12:23:02