Wordpress自定义网址和GET

时间:2012-01-23 09:09:03

标签: php wordpress

我正在尝试在Wordpress中使用自定义网址。

http://example.com/home代替http://example.com?page_id=home

但我现在应该如何使用GET功能呢?

$page_id = $_GET['page_id'];
if($page_id == 'home') include 'home.php';

3 个答案:

答案 0 :(得分:0)

$_GET不是函数,您不应该使用它。它包含从查询字符串解析的值,但您没有。

改为解析$_SERVER['REQUEST_URI']

答案 1 :(得分:0)

您可以使用http://localhost/wordpress/2012/01/hello-world/?g=1这个网址。此网址的print_r($_GET)结果为Array ( [g] => 1 )

但是如果你想使用自定义网址,你必须更改htaccess文件。您可以使用以下两个选项:

答案 2 :(得分:0)

执行此操作的'WordPress方式'是将page_id注册为'查询变量'并使用get_query_var

要注册查询变量,您可以使用query_vars过滤器。将以下内容放入您的插件或主题function.php

add_filter('query_vars', 'register_my_query_vars' );
function register_my_query_vars( $qvars ){
    //Add these query variables - do not overwrite the $qvars array
    $qvars[] = 'page_id';    
    return $qvars;
}

然后你应该能够使用get_query_var('page_id')来获得它的价值(主页,在问题中)。