我制作了一个Wordpress插件,要求网站访问者浏览插件中子文件夹中的.php文件。
但是,我注意到如果访问者没有登录,PHP脚本会重定向到404页面。
我需要停止此重定向,并允许执行脚本。
我该怎么做?
答案 0 :(得分:0)
WordPress默认情况下不会使用404页面阻止PHP文件。它可能是您的主机,htaccess或其他各种问题。
无论哪种方式,如果这是一个WordPress插件,你不想直接调用PHP文件。如果您直接调用它,则无法访问WordPress(例如,您无法使用get_option或bloginfo())。
相反,您应该在插件中使用PHP的include
函数来包含它。有关获取插件工作目录的信息,请参阅plugin_dir_path。
您可以将页面挂钩以轻松调用您的函数。例如:
function call_my_php_script() {
if ( isset($_GET['myscript']) && $_GET['myscript'] == 'run' ) {
include( plugin_dir_path( __FILE__ ) . 'scripts/my-script.php' );
exit;
}
}
add_action('init', 'call_my_php_script');
然后通过:http://example.org/?myscript=run
访问您的脚本您可能希望将插件目录存储在全局/常量变量中,因为plugin_dir_path函数仅适用于原始插件文件。