我试图在查看任何与插件相关的页面时,将未登录用户重定向到登录页面。
当我指定他们无法查看的页面时,我的代码运行良好,但我正在尝试从URL中提取字符串,这正是我所面临的困难。
以下是URL示例:http://domain.com/idx/city/irvine/
我正在尝试检测URL中的字符串“idx”。我查看了我使用的IDX插件中定义的重写规则:
"idx/city/([^/]+)(?:/page\\-(\\\\d+))?" => \'index.php?idx-action=results&idx-q-Cities=$matches[1]&idx-d-ResultPage=$matches[2]\'
我尝试检查是否设置了$\\u GET[\'idx-action\'],但没有成功。
// Check for registered user or redirect to login/register page
add_action(\'template_redirect\',\'tc_check_if_logged_in\');
function tc_check_if_logged_in() {
// If user is not logged in, check for restricted pages (inside array) and ignore home/front page and admin pages
//if (!is_user_logged_in() && (is_page( array(\'1306\',\'999999\',\'999998\',)) && !is_home() && !is_front_page() && !is_admin())) // commented out as I know this part works
if ($_GET[\'idx-action\']) // Check if IDX query set
{
// If restricted, redirect to login page then redirect back to original page
$url = add_query_arg(
\'redirect_to\',
get_permalink(),
site_url(\'wp-login.php\')
);
wp_redirect($url);
exit;
}
}
抱歉,如果问题不清楚。得了重感冒,不能思考!