将查询字符串变量添加到与指定属性域匹配的所有超链接URL

时间:2013-01-21 作者:Emerson Maningo

这是我的案子。假设在我的plugin dB表中,我存储了以下字段名和值:

argument_1= \'test\'
argument_2= \'test2\'
我想向所有指向www.example的链接添加一个新的字符串查询字符串变量。com,使其看起来像这样:

如果访问主页:

www.example.com/?argument_1=test&argument_2=test2
或任何类似的页面:

www.example.com/anotherpage/?argument_1=test&argument_2=test2
我将使用哪些Wordpress挂钩、操作和过滤器来检索数据库中的参数和值,并将其附加到与域匹配的超链接URL,例如。com?

我正在考虑使用add query arg,但我对这个函数与这个应用程序的关系有点困惑。非常感谢您的任何提示和建议。。谢谢

1 个回复
最合适的回答,由SO网友:Brooke. 整理而成

对不起,我把你的问题看错了。您可能想使用WP_Rewrite 然后做类似的事情:

add_filter( \'rewrite_rules_array\',\'my_insert_rewrite_rules\' );
add_filter( \'query_vars\',\'my_insert_query_vars\' );
add_action( \'wp_loaded\',\'my_flush_rules\' );

// flush_rules() if our rules are not yet included
function my_flush_rules(){
    $rules = get_option( \'rewrite_rules\' );

    if ( ! isset( $rules[\'(argument_1=test&argument_2=test2)$\'] ) ) {
        global $wp_rewrite;
        $wp_rewrite->flush_rules();
    }
}

// Adding a new rule
function my_insert_rewrite_rules( $rules )
{
    $newrules = array();
    $newrules[\'(argument_1=test&argument_2=test2)$\'] = \'index.php?argument_1=$matches[1]&argument_2=$matches[2]\';
    return $newrules + $rules;
}

// Adding the id var so that WP recognizes it
function my_insert_query_vars( $vars )
{
    array_push($vars, \'id\');
    return $vars;
}
这是未经测试的,主要来自文档,但应该让您走上正确的轨道。

结束

相关推荐

Get_Query_var()在Pre_Get_Posts中不起作用

我正在使用pre_get_posts 钩子可以使用自定义元值对所有自定义帖子类型/分类页面上的主查询进行排序。作为逻辑的一部分,我试图通过使用get_query_var(\'taxonomy\'), 但是,无论我尝试什么,它都会不断返回一个空白字符串:function sort_query($query) ... if (is_tax()){ ... echo get_query_var(\'taxonomy\'); // E