我目前正在使用Wordpress插件(Pagerestrict插件,它根据页面ID/slug引用URL)来限制某些页面只允许登录用户使用。这个插件可以很好地使用标准的wordpress URL结构,但我的问题是我的一些页面直接链接到一些插件功能http://mywebsite.com/wp-content/plugins/purchase.php 而不是标准http://mywebsite.com/wp-content/plugins/purchase/ wordpress url结构。因此,我在这种情况下尝试的是手动添加下面的功能,但这些功能不起作用
function my_page_template_redirect() {
$url_path = preg_replace(\'/\\?.*/\', \'\', $_SERVER[\'REQUEST_URI\']);
if( strpos($url_path, \'/wp-content/plugins/purchase.php/\') !== 0 && ! is_user_logged_in() )
{
wp_redirect( wp_login_url() );
die;
}
}
add_action( \'template_redirect\', \'my_page_template_redirect\' );
我也看到了这个
https://wpexplorer-themes.com/total/snippets/restrict-content-access-user/ 这篇文章推荐了一些类似于我所寻找的东西,但这里唯一的转折点是它将页面条件与$page\\u id匹配,而不是URL,并且由于我的URL(参考上文)直接链接到插件页面,而不是通过wp页面或帖子生成,因此它没有id或slug。有没有办法解决这个问题?希望您能提出一些建议。