Fă paginile WooCommerce accesibile doar utilizatorilor autentificați
Am un site web care folosește WordPress și un magazin online cu WooCommerce. Aș dori ca magazinul meu (și toate paginile sale) să fie vizibile doar utilizatorilor autentificați.
Prin intermediul plugin-ului User Access Manager, am restricționat accesul la pagina magazinului, dar cu un link direct către un produs etc. se poate accesa acea pagină specifică, chiar dacă utilizatorul nu este autentificat.
Cum pot redirecționa utilizatorii care nu sunt autentificați către o altă pagină dacă încearcă să acceseze o pagină WooCommerce?

Pune acest cod în fișierul tău functions.php
:
function wpse_131562_redirect() {
if (
! is_user_logged_in()
&& (is_woocommerce() || is_cart() || is_checkout())
) {
// poți personaliza următoarea linie în funcție de nevoile tale
wp_redirect(home_url());
exit;
}
}
add_action('template_redirect', 'wpse_131562_redirect');
Ce face acest cod?
Verificăm dacă un utilizator neautentificat încearcă să acceseze o pagină WooCommerce și îl redirecționăm către pagina principală.

Mulțumesc pentru ajutor. Fișierul functions.php se află în folderul temei mele?? Și cum pot apela această funcție de pe pagina de produs? Mulțumesc :-)

Mulțumesc foarte mult. Codul tău funcționează perfect pentru mine. Mulțumiri nesfârșite :)

Aceasta nu este cea mai bună metodă pentru redirecționarea către pagina Contul Meu
. Este mai bine să obții permalink-ul paginii Contul Meu pe care l-ai configurat în setările WooCommerce. Astfel, ori de câte ori permalink-ul este schimbat sau ai un site multilingvistic, permalink-ul va fi în continuare obținut corect. Pe scurt: Este mai bine să nu hardcodezi permalink-uri/slugs (sau URL-uri în general). O metodă mai bună ar fi: wp_redirect( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) );
