将重写规则中的变量添加到查询变量

时间:2021-06-26 作者:FroboZ

我正在尝试将查询变量存储到插件前端的本地化变量中。rpSearch以应有的方式显示,但page和share\\u id为;0“;和"E;当我用Monkeyman重写分析器测试url时,它看起来应该会提供我需要的数据

screenshot from monkeyman rewrite analyzer

function rewrite() {
    add_rewrite_rule(\'^reseplanerare/dela/([^/]+)/?$\',\'index.php?pagename=reseplanerare&page=share&share_id=$matches[1]\', \'top\');
    add_rewrite_rule(\'^reseplanerare/planera/([^/]+)/?$\', \'index.php?pagename=reseplanerare&page=plan\', \'top\');
}

function register_query_vars( $vars ) {
    $vars[] = \'page\';
    $vars[] = \'share_id\';
    return $vars;
}

function public_enqueue_scripts() {
    global $wp_query;
    wp_enqueue_script( $this->plugin_name,  plugin_dir_url( __FILE__ ) . \'js/public/main.js#module\', array(\'jquery\'), $this->plugin_ver,true);
    wp_localize_script( $this->plugin_name, \'rpSearch\', array(
        \'page\' => urldecode($wp_query->query_vars[\'page\']),
        \'share_id\' => urldecode($wp_query->query_vars[\'share_id\'])
    ));
}

1 个回复
SO网友:FroboZ

在重写规则中,我没有正确链接到页面。pagename的使用不正确,我应该使用page\\u id。我最终使用的重写规则是

    add_rewrite_rule(\'^resa/start/?$\', \'index.php?page_id=1897&route_page=start\', \'top\');
    add_rewrite_rule(\'^resa/planera/?$\', \'index.php?page_id=1897&route_page=plan\', \'top\');
    add_rewrite_rule(\'^resa/dela/([^/]+)/?$\',\'index.php?page_id=1897&route_page=share&share_id=$matches[1]\', \'top\');

相关推荐

Wordpress Permalinks

我在最近建立的网站上使用Wordpress Sydney主题。如果我将永久链接更改为post选项,我的网页链接将中断。对于不是技术大师的人来说,有没有简单的方法来解决这个问题。任何(详细的)帮助都将不胜感激。