我是 wordpress 的新手,我正在为 wordpress 创建一个扩展。我搜索了很多,但没有找到任何解决方案。可能是我的问题是重复的,但我没有找到任何解决方案。我的问题是:
我想为我的扩展 api 创建一个自定义 url。就像有些人会在该网址上发布数据,我会将数据保存在数据库中。我的网址应该是www.example.com/custom_url
我的网址将没有页面和模板,它是一种网络服务。
所以在我的扩展中,我希望当任何用户安装该扩展时,这个 custom_url 将自动为他们激活。
我试过add_rewrite_rule,add_rewrite_endpoints 等等。但没有成功。
请给我建议或提供任何描述它的链接。
根据 WordPress 论坛上的教程:
什么是端点?
使用端点可以让您轻松创建重写规则来捕获普通的 WordPress URL,但在最后添加一些额外内容。例如,您可以使用端点来匹配所有后跟“gallery”的帖子 URL,并显示帖子中使用的所有图像,例如 http://example.com/my-fantastic-post/gallery/。
完整教程在这里:https : //make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/
因此,根据需要创建虚拟页面没有帮助。
但是,根据 WordPress Stack Exchange 上的以下帖子,可以使用创建虚拟页面 add_rewrite_rule
以下是原始文章的部分摘录:
首先我们添加一个重写规则,添加一个查询变量,然后我们将这个查询变量公开,然后我们需要检查这个查询变量是否存在,以将控制权传递给我们的插件文件。到我们这样做时,通常的 WordPress 初始化将发生(我们在常规 post 查询之前脱离)。
add_action( 'init', 'wpse9870_init_internal' );
function wpse9870_init_internal()
{
add_rewrite_rule( 'my-api.php$', 'index.php?wpse9870_api=1', 'top' );
}
add_filter( 'query_vars', 'wpse9870_query_vars' );
function wpse9870_query_vars( $query_vars )
{
$query_vars[] = 'wpse9870_api';
return $query_vars;
}
add_action( 'parse_request', 'wpse9870_parse_request' );
function wpse9870_parse_request( &$wp )
{
if ( array_key_exists( 'wpse9870_api', $wp->query_vars ) ) {
include 'my-api.php';
exit();
}
return;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3366 次 |
| 最近记录: |