如何路由与WordPress的URL中的变量?

问题描述

我有一个可通过“ www.myDomain.com/documents”访问的wordpress主题模板页面页面内容是“文档”。

但是我似乎找不到找到将资源添加到URL的方法。 我如何才能在末尾添加“ 123”之类的资源,而仍然将其转到“文档”页面

就像“ www.myDomain.com/documents/123”一样,最后一部分是要进入我的wordpress主题页面代码的ID,现在它刚好是404。

解决方法

add_action( 'init','wpse26388_rewrites_init' );
function wpse26388_rewrites_init(){
    add_rewrite_rule(
        'documents/([A-Za-z0-9_-]+)/?$','index.php?pagename=documents&documents_id=$matches[1]','top' );
}

add_filter( 'query_vars','wpse26388_query_vars' );
function wpse26388_query_vars( $query_vars ){
    $query_vars[] = 'documents_id';
    return $query_vars;
}

add_filter('init','flushRules');
function flushRules(){ global $wp_rewrite; $wp_rewrite->flush_rules(); }