WooCommerce: получить URL-адрес выгружаемого архива магазина - PullRequest
0 голосов
/ 05 августа 2020

Мне нужна ссылка на URL-адрес выгружаемого архива магазина, чтобы добавить его как rel=canonical. По умолчанию WooCommerce всегда использует URL-адрес страницы «Все продукты».

Например: страница архива всех продуктов имеет следующий URL-адрес:

https://example.com/shop/

Если я go на странице 2 URL-адрес по-прежнему тот, который указан выше. Но правильной версией будет:

https://example.com/shop/page/2/

Я пытаюсь переписать тег rel=canonical с помощью Yoast и хочу отобразить текущий URL с помощью /page/. Итак, я попробовал это:

$canonical = home_url( $wp->request );

И это:

$canonical = home_url( add_query_arg( array(), $wp->request ) );

К сожалению, безуспешно. Он всегда показывает только URL-адрес домашней страницы (https://example.com). Есть ли способ узнать номер страницы?

1 Ответ

0 голосов
/ 05 августа 2020

Хорошо, нашел решение для этого. Кажется, что $wp->request не работает с архивом магазина WooCommerce.

Вот решение, которое работает. Но в нем есть несколько жестко закодированных частей URL:

$canonical = get_permalink(woocommerce_get_page_id( 'shop' )).'page/'.get_query_var('paged').'/';

Интересно, есть ли лучшее решение без добавления /page/ в URL.

...