2015-09-07 24 views
0

任何人都可以请帮助我理解,如果有任何标准函数或过程在WordPress中可以用来将动态查询字符串转换为静态,就像wordpress如何将动态URL转换为SEF网址设置永久链接在wp-admin。wordpress - 将url查询字符串转换为静态

我正在开发一个基于woocommerce的插件,其中将为用户提供动态链接。这导致查询字符串使用$ _GET提取的另一个页面。

现在我正在寻找这样的动态格式在url中,但静态/ SEFformat。

更新我的问题:

下面是我一直想在我的插件,而不是能看到改变URL格式的代码。

function dashboard_messages_url_rewrite() { 
global $wp_rewrite; 
add_rewrite_tag('%cid%', '([^&]+)'); 
add_rewrite_rule('^conversations/([0-9]+)/', 'index.php?page_id=3242&cid=$matches[1]', 'top'); 

$wp_rewrite->flush_rules(true); 
} 
add_action('init', 'dashboard_messages_url_rewrite', 10, 0); 

例如,如果生成的URL为

http://example.com/conversations/?cid=2234

我希望它由WordPress的转换如下

http://example.com/conversations/2234

希望这将有助于了解什么我已经试了。谢谢

+1

嗨古斯塔沃,我试着用你在参考问题的答案中解释的内容,但它对我没有用。现在,我可以在这里继续或评论其他问题的答案吗? – krishna89

+0

你究竟试过了什么?请用代码编辑您的问题。 –

+0

每次你以编程的方式在Wordpress中创建新的重写规则时,使用重写函数或添加自定义帖子类型时,你需要刷新永久链接。要做到这一点,只需进入WP管理员的永久链接设置页面并点击保存按钮即可。这足以冲淡规则。试试看,请让我知道它现在是否有效。 –

回答

1

您的规则缺少最后?使最后一个斜杠可选。添加问号后,您的重定向应该工作。该函数调用将是这样的:

add_rewrite_rule('^conversations/([0-9]+)/?', 'index.php?page_id=3242&cid=$matches[1]', 'top'); 

而且,每次编程创建在WordPress的新重写规则,使用重写功能,或添加自定义文章类型时,例如,你需要刷新的永久链接。要做到这一点,只需进入WP管理员的永久链接设置页面并点击保存按钮即可。这足以冲淡规则。

相关问题