我正在用这个地址创建一个 Wordpress 插件
//worpress/my-plugin/
我想(通过 GET)以 seo 友好的形式传递一些变量,比如
//worpress/my-plugin/first-var/second-var/
有什么方法可以在不更改 .htaccess 文件的情况下从我的插件中“创建”和“获取”这些变量(永久链接设置已设置为“帖子名称”模式),而只是在我的插件页面中插入一些代码?
谢谢!
你可以通过重写 wordpress 的 api 来做到这一点:下面是一个小例子:
add_action('init', array($this, 'add_rules'));
add_rewrite_rule('nameofurl/?([^/]*)', 'index.php?page_id=' . $post_ID . '&jsubscribe_id=$matches[1]', 'top');//if you need this for any specefic post.
/* OR */
add_rewrite_tag('%action%', '([^/]+)');
add_permastruct('action', 'url_prefix_like_plugin_name' . '/%action%');
/*After adding permastruct do below work*/
add_filter('template_redirect', 'function_name');
/*Get you query value and do what you want*/
function function_name(){
$action=get_query_var('jaction');
//put your login here
}
并且不要忘记 flush_rewrite_rules();
欲了解更多信息,请访问以下链接:
http://codex.wordpress.org/Rewrite_API/add_rewrite_rule
http://codex.wordpress.org/Rewrite_API/add_rewrite_tag
http://codex.wordpress.org/Function_Reference/add_permastruct