WooCommerce and Polylang

I ran into this issue: Any link in my code/theme/plugin to standard Woocommerce pages did not go to the correct translated page!
However the solution provided here will break whenever WooCommerce is updated. The correct way of solving this is adding some filters…

//20210216 - (c) My Brain - correction for function wc_get_page_id()
function woocommerce_translate_polylang_page_id($pageid) {
	if (!empty($pageid)) {
		if (PLL() instanceof PLL_Frontend) {
			$pllpageid = pll_get_post($pageid);
			if (!empty($pllpageid)) {
				$pageid = $pllpageid;
			}
		}
	}
	return $pageid;
}
//myaccount, edit_address, shop, cart, checkout, pay, view_order, terms
add_filter( 'woocommerce_get_myaccount_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_edit_address_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_shop_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_cart_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_checkout_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_pay_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_view_order_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );
add_filter( 'woocommerce_get_terms_page_id', array( $this, 'woocommerce_translate_polylang_page_id' ), 10, 1 );

Have a nice day!

HTTP Error 413.1

HTTP Error 413.1 – Request Entity Too Large – The page was not displayed because the request entity is too large.
Large file? Large problem! On IIS you can get this error while trying to upload. Read this and then think… maybe edit the web.config file in the root? So you try adding this, or something similar:

<serverRuntime>
  <uploadReadAheadSize>2147483647</uploadReadAheadSize>
</serverRuntime>
<security>
  <requestFiltering>
    <requestLimits>
      <maxAllowedContentLength>2147483647</maxAllowedContentLength>
    </requestLimits>
  </requestFiltering>
</security>

but you simply get: HTTP Error 500.19 – Internal Server Error – The requested page cannot be accessed because the related configuration data for the page is invalid. – so, whatever you were thinking is: Wrong!
When using IIS manager you get:

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="2147483647" />
  </requestFiltering>
</security>

while the ‘uploadReadAheadSize’ does not appear anywhere in the web.config. But: it helps and there are no more errors while uploading!
So you have to set these values in IIS Manager itself.
Problem? Solved!

Have a nice day!