检查是否为“单一产品页面”,并检查重定向的“角色”

时间:2017-06-13 作者:moikben

在网上做了很多研究之后,我还没有找到一个有效的解决方案。

你知道我如何在woocommerce上做到这一点吗:

我暂时尝试一下:

function cm_redirect_users_by_role() {

    $current_user   = wp_get_current_user();
    $role_name      = $current_user->roles[0];

    if ( is_products_page() && is_single() ){
        if ( $role_name === \'customer\' ) {
            wp_redirect( \'https://www.mysite.fr/shop/\' );
        } // if
        else {
            wp_redirect( \'https://www.mysite.fr/\' );
        } //
    }
} // cm_redirect_users_by_role
add_action( \'admin_init\', \'cm_redirect_users_by_role\' );
但这不起作用:/当我在一个产品页面上时,我不会重定向。

1 个回复
SO网友:Moikben

以下是有效的结果,我将其置于以下条件中:is_product() 检查是否是单个产品页。我在add_action() : admin_init 通过wp

function cm_redirect_users_by_role() {

    $current_user   = wp_get_current_user();
    $role_name      = $current_user->roles[0];

    if ( is_product() ){
        if ( $role_name !== \'customer\' && $role_name !== \'shop_manager\' && $role_name !== \'dc_vendor\') {
            wp_redirect( \'https://www.mysite.fr/\' );
        } // if
    }
} // cm_redirect_users_by_role
add_action( \'wp\', \'cm_redirect_users_by_role\' );

结束

相关推荐

wp_redirect and get variables

我正在使用wp\\u重定向将用户发送回管理页面。除了由于某种原因被删除的get变量外,一切都正常。 $url = \"admin.php?page=cv_data&saved\"; wp_redirect(admin_url($url)); 将罚款重定向到admin.php?page=cv_data&saved半秒钟后,url将丢失“saved”变量。admin.php?page=cv_data我试图使用“saved”get变量触发一些CSS,并向用户提供表