不确定,但目前在我脑海中的第一个解决方案。您需要WordPress提供的数据进行身份验证吗。如果您包括wp-load.php
您可以访问WordPress及其功能,也可以访问identifier。但是作为静态路径包含的文件并不是很好和可靠。
define( \'WP_USE_THEMES\', FALSE );
require( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php\' );
查询和重定向您可以使用自定义值更改查询,如果该值存在,您可以通过挂钩重定向到游戏。在此重定向之后,您可以访问所有wp功能,还可以检查用户。这个想法只适用于前端,没有解决方案来更改后端的页面,只是作为提示。
下面的源代码只是一个示例,它使用自定义字符串来增强查询的标识符,并重定向到自定义代码。
add_filter( \'query_vars\', \'fb_plugin_add_trigger\', 10, 1 );
function fb_plugin_add_trigger( $vars ) {
$vars[] = \'fb_plugin_trigger\';
return $vars;
}
add_action(\'template_redirect\', \'fb_plugin_trigger_check\');
function fb_plugin_trigger_check() {
if ( (int) get_query_var(\'fb_plugin_trigger\') === 1 ) {
// Here is your custom code.
exit();
}
}
此触发器的URL如下所示
example.com/?fb_plugin_trigger=1
.
add_action( \'init\', \'fb_my_endpoint\' );
function fb_my_endpoint() {
add_rewrite_endpoint( \'fb_plugin_trigger\', EP_ROOT );
}
在此之后,您将在url中找到值,如
example.com/fb_plugin_trigger/
.
小提示,在添加端点后刷新重写规则。还有一个提示,如果不使用永久链接,请使用函数add_query_arg()
将url中的参数添加到标识符。
现在,您还可以在查询中解析此值并包含游戏源代码。
add_action( \'parse_query\', \'fb_parse_query\' );
function fb_parse_query( $query ) {
if ( isset( $query->query_vars[\'my_api\'] ) ) {
include( plugin_dir_path( __FILE__ ) . \'game/index.php\');
exit;
}
}