2012-01-24 61 views
0

問題WordPress的 - 從重寫試玩/演示/

我要重寫我的GET變量來/演示/。

我目前的永久鏈接結構:
/我 - 新柱/演示=真

我想要什麼:
/我 - 新職位/演示/

我有這樣的代碼:

它允許「演示」 $ _ GET變量,然後回聲「真」。它的作品,只是重寫的一部分。

<?php 
add_filter('query_vars', 'queryvars'); 
add_action('parse_query', 'echo_query_var'); 

function queryvars($qvars) 
{ 
    $qvars[] = 'demo'; 
    return $qvars; 
} 

function echo_query_var() { 
    echo get_query_var('demo'); 
} 
?> 

信息

  • 應該與所有崗位的工作(不只是 「我 - 新郵報」)。
  • 它不應該返回404
  • 我應該能夠得到這個職位ID。
  • GET變量「demo」可以爲真,也可以爲空。不重要。

回答

0

到目前爲止是這種情況...

// Actions - Rewrite rules 
add_filter('query_vars', array($wp_comment_pages, 'add_get_variable')); 
add_action('generate_rewrite_rules', array($wp_comment_pages, 'add_rewrite_rule')); 

// Plugin container 
class wp_comment_pages 
{ 
    // Flush the rules - only needed once 
    function flush_rules() 
    { 
     global $wp_rewrite; 
     $wp_rewrite->flush_rules(); 
    } 

    // Add get variable to query vars 
    function add_get_variable($public_query_vars) 
    { 
     $public_query_vars[] = 'demo'; 
     return $public_query_vars; 
    } 

    // Generate permalinks 
    function add_rewrite_rule($wp_rewrite) 
    { 
     $new_rules = array(
      '(.+)/demo' => 'index.php?p=' . $wp_rewrite->preg_index(1) . '&demo=true' 
     ); 

     $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; 
    } 
}