WordPressを使用したWebサイトと、WooCommerceを使用した電子商取引があります。私の店(とそのすべてのページ)を、ログインしているユーザーだけが見られるようにします。
User Access Manager pluginを介して、ショップページへのアクセスを拒否しましたが、製品などへの直接リンクを使用して、ユーザーがログインしていなくても、その特定のページにアクセスできます。
WooCommerceページにアクセスしようとした場合、ログインしていないユーザーを別のページにリダイレクトする方法を教えてください。
これをfunctions.php
ファイルに入れます。
function wpse_131562_redirect() {
if (
! is_user_logged_in()
&& (is_woocommerce() || is_cart() || is_checkout())
) {
// feel free to customize the following line to suit your needs
wp_redirect(home_url());
exit;
}
}
add_action('template_redirect', 'wpse_131562_redirect');
それは何をするためのものか?
ログインしていないユーザー がWooCommerceページを見たいかどうかを確認し、彼/彼女を私たちのホームページにリダイレクトします。
リダイレクトをに変更しました
wp_redirect( site_url('my-account/') )
そのため、ログインまたは登録されていない場合、ユーザーは[マイアカウント]ページにリダイレクトされます。