web-dev-qa-db-ja.com

WooCommerceページをログインユーザーだけがアクセスできるようにする

WordPressを使用したWebサイトと、WooCommerceを使用した電子商取引があります。私の店(とそのすべてのページ)を、ログインしているユーザーだけが見られるようにします。

User Access Manager pluginを介して、ショップページへのアクセスを拒否しましたが、製品などへの直接リンクを使用して、ユーザーがログインしていなくても、その特定のページにアクセスできます。

WooCommerceページにアクセスしようとした場合、ログインしていないユーザーを別のページにリダイレクトする方法を教えてください。

11
Alessandro

これを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ページを見たいかどうかを確認し、彼/彼女を私たちのホームページにリダイレクトします。

23
tfrommen

リダイレクトをに変更しました

wp_redirect( site_url('my-account/') )

そのため、ログインまたは登録されていない場合、ユーザーは[マイアカウント]ページにリダイレクトされます。

7
Pierre