2016-12-04 4 views
0

ようこそ! 私は、ユーザーがログインしているかどうかチェックボタンを押すことで、Wordpressで関数を作成したいと思います。ユーザーがログインしている場合は「a」に移動しますが、ユーザーがオフラインの場合は「b」に移動します。ボタンで機能する場合 - ワードプレス

ボタンの中にelseを実装するのに問題があります。

cart.phpファイル内のルーラーコードボタン:

<a href="#"> class="button" CHECK OUT </a> 

ユーザーがログインしているかどうかをチェックするコード:

if (is_user_logged_in() && isset ($ _ GET [ 'page_id']) && $ _ GET [ 'page_id']> 0 && get_option ('permalink_structure') == "" && $ _ GET [ 'page_id'] == woocommerce_get_page_id (' shop ')) { 
    wp_redirect (get_post_type_archive_link ('product')); 
    die(); 
} 

に私は、さまざまなオプションを試してみましたが、すべて失敗しました。

サンプル: 1.クリックボタン - > a。ユーザーがログオンしている場合は、 "http://a"、 にリダイレクトします。ユーザーがログアウトしている場合は、 "hhtp:// b"にリダイレクトします。

私たちの時間をありがとう!

答えて

0

テンプレートが読み込まれる前にアクションフックでフックする必要があります。 だから、あなたが適用されている他の条件を避け、そのための一般的なコードは、あなたのテーマののfunctions.phpファイルへ

function redirect_on_login_status(){ 

    if(is_user_logged_in()){ // you might want to put other conditions here 
    wp_redirect(site_url('a')); // change the site_url() part to you desired url, with this case it will be redirected to example.com/a 
    }else{ 
    wp_redirect(site_url('b')); 
    } 
    exit(); 
} 
add_action('wp','redirect_on_login_status'); 

置き、この機能をでしょう。うまくいくはずです:)

+0

あなたは素晴らしいです!唯一の問題は、ボタンを押して機能させたいということです。 私がバスケットにいる場合は、「CHECK OUT」をクリックし、次に: - 私がログに記録されている場合は、に移動しますが、そうした場合はbになります。 この時点で、この機能はページ全体で機能します。私はページをリフレッシュします。私はボタンを押すだけでそれを動作させたいです。 "CHECK OUT"にこの機能を実装する方法 ? –

関連する問題