通过wordpress中的url传递变量

时间:2017-03-27 17:22:24

标签: php wordpress wordpress-theming

我有wordpress自定义模板页面test.php,其中我想通过url传递变量,

http://localhost/wordpress/test?date=2017&postid=11&title=some-title

采用这种格式,

http://localhost/wordpress/test/2017/11/some-title

并从网址中获取参数。

我已遵循此link,但无法按照我的意愿生成结果。

有没有其他方法可以达到我所提到的所需结果?我是wordpress主题开发的新手。

1 个答案:

答案 0 :(得分:2)

好吧,正如@ vl4d1m1r4所建议的那样,我使用了Web服务器(在我的情况下是apache)重写规则来重写路径。一些 - 我已经取得了预期的结果。 在function.php中 我编写了以下代码来更新wordpress(.h​​taccess)中的重写规则

add_filter( 'query_vars', 'add_custom_query_vars' );
function add_custom_query_vars( $vars )
{
    array_push($vars, "test_year", "test_postid", "test_title");
    return $vars;
}
function custom_rewrite_rule()
{
    add_rewrite_rule('^test/([^/]*)/([^/]*)/([^/]*)?','index.php?pagename=test&test_year=$matches[1]&test_postid=$matches[2]&test_title=$matches[3]','top');
}
add_action('init', 'custom_rewrite_rule');

添加上述代码后,我重新保存了永久链接设置(设置>>固定链接)

获取custom-template-page中的参数,即test.php。我使用了以下查询。

echo get_query_var('test_title');
echo get_query_var('test_postid');
echo get_query_var('test_year');