在Wordpress中使用URL参数

时间:2014-08-19 19:34:25

标签: wordpress url parameters

我正在尝试将url参数包含在我的博客页面的链接中。

我想要一个看起来像这样的链接:

/blog?data_cat_id=5&data_post_year=2014&data_post_month=5

我能够以我想要的方式构建链接,或者以纯文本形式写出来用于测试目的,或者从WP循环中的变量生成链接。但是,点击链接总是转到/blog,并删除了网址参数。

我尝试了几件事来让它发挥作用。

策略#1:

我在 functions.php 文件中添加了以下函数,以便在WP中注册查询参数。

function add_query_variables() {
    global $wp;
    $wp->add_query_var('data_cat_id');
    $wp->add_query_var('data_post_year');
    $wp->add_query_var('data_post_month');
}
add_filter('init', 'add_query_variables' );

这在很长一段时间内都没有用,然后在我进入管理菜单中的“设置>固定链接”后开始工作,然后点击保存(清除缓存的重写规则,只是以防万一 - 我不明白他们是否参与了这里。

一切都很好,但是当我从上面不再需要的函数中删除单个查询变量时,停止了工作。 (我原来在上面的代码中也有$wp->add_query_var('data_ajax_type');。)说真的,这是我唯一改变的。

我试过再次刷新重写规则缓存,但是虚无,没什么。我尝试添加单个应该不相关的$wp->add_query_var('data_ajax_type')行。没有骰子。点击我的链接时,网址参数仍被删除。

策略#2:

当策略#1停止工作时,我从functions.php中删除了add_query_variables()函数,并尝试使用add_query_arg()函数生成链接本身。 (在我阅读的文章/文档中使用add_query_arg()时,没有提到需要使用WP注册查询参数,这就是我删除add_query_variables()函数的原因。我不知道这是不是是对文档的疏忽,或者这是否正确。)

我的链接现在正在我的模板文件中生成:

add_query_arg(
    array(
        'data_cat_id' => 5,
        'data_post_year' => 2014,
        'data_post_month' => 5
    ), '/blog'
)

结果链接看起来像这样,这就是我想要的:

http://www.example.com/blog?data_cat_id=5&data_post_year=2014&data_post_month=5

但是,再一次,当我点击此链接时,我会在/blog结束,并删除所有网址参数。

所以......我坚持这个。我不知道该做什么或接下来要尝试什么。有什么想法,建议吗?

是否应该明确如何在实践中使用这些功能以使它们真正起作用?

0 个答案:

没有答案