如何将变量传递给带有sef url的页面?

时间:2012-10-22 作者:Caleb

我正在为一个小教堂做一个网站。他们想把布道上传到他们的网站上。我一直在寻找一个WP插件来实现这一点,但没有一个插件能完全满足他们的需求。所以,我正在制作一个插件来满足他们的需要。

我制作了一个名为“布道”的页面,其中有一个页面模板“布道档案”。该文件将显示布道存档。我想这样当他们点击布道时sermon/my-sermon-name (而不是sermon?name=my-sermon-name). 有没有办法在WordPress中做到这一点?

谢谢

2 个回复
SO网友:Mridul Aggarwal

你要么和WP_Rewrite 类或将其添加到。htaccess文件

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^sermon/(.*)/ /sermon?name=$1 [L]
更新忘记提到htaccess代码应该在wordpress生成的htaccess代码之上

SO网友:Caleb

我的答案来自this page.

最终代码:

add_action(\'init\',\'yoursite_init\');
function yoursite_init() {
    global $wp,$wp_rewrite;
    $wp->add_query_var(\'sermon_name\');
    $wp_rewrite->add_rule(\'sermon/([^/]+)/?\', \'index.php?pagename=sermons&sermon_name=$matches[1]\', \'top\');
}
谢谢!

结束

相关推荐

Wp-content/plugins中的权限问题

我在本地机器上安装了一个WP,试图用插件弄脏我的手。我希望从github克隆一个包含此插件代码的项目。然而,我没有插件内部的权限,作为一个没有su权限的普通用户,我无法做到这一点。(当然,我可以成为根并这样做,但我不认为这是应该的)。然后,默认情况下,WP安装中的文件夹将组设置为“tape”,这对我来说很奇怪。本地WP安装上内部文件夹的正确权限应该是什么?