2011-07-23 8 views
0

私はプラグインを作成しました...このプラグインでカスタム変数を使用していますが、私はこのURLをSEOのために書き直したいのですが、できません。 WordPressのPermalinkジェネレーターを使用すると、書き換えは機能しますが、プラグインで書き直しのためにオフラインコードを使用したい場合は動作しません。コードからWordPress FrameworkでURLを書き直す...どのように?

ここでは簡単なコードで何か問題はありません。私はなぜそうではありません。

add_filter('rewrite_rules_array','wp_insertMyRewriteRules'); 
add_filter('query_vars','wp_insertMyRewriteQueryVars'); 
add_filter('init','flushRules'); 

// Remember to flush_rules() when adding rules 
function flushRules(){ 
    global $wp_rewrite; 
    $wp_rewrite->flush_rules(); 
} 

// Adding a new rule 
function wp_insertMyRewriteRules($rules) 
{ 
    $newrules = array(); 
    $newrules['(project)/(\d*)$'] = 'index.php?pagename=$matches[1]&id=$matches[2]'; 
    return $newrules + $rules; 
} 

// Adding the id var so that WP recognizes it 
function wp_insertMyRewriteQueryVars($vars) 
{ 
    array_push($vars, 'id'); 
    return $vars; 
} 


function search_url_rewrite_rule() { 
if (is_search() && !empty($_GET['s'])) { 
wp_redirect(home_url("/search/") . urlencode(get_query_var('s'))); 
exit(); 
} 
} 
add_action('template_redirect', 'search_url_rewrite_rule'); 

私は私のプラグインの中に新しいコードを書きましたが、それは効果がありませんがあります。

add_action('admin_init', 'flush_rewrite_rules'); 

add_action('generate_rewrite_rules', 'geotags_add_rewrite_rules'); 
function geotags_add_rewrite_rules($wp_rewrite) 
{ 
    $new_rules = array( 
    'p/(.+)' => 'index.php?p=' . 
     $wp_rewrite->preg_index(1)); 

    // Add the new rewrite rule into the top of the global rules array 
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; 
} 

答えて

1

あなたがこのページで

http://codex.wordpress.org/Class_Reference/WP_Rewrite

を探して試してみましたし、私はあなたが持っていると思います毎回ルールをフラッシュします。

+0

私はプラグインに新しいコードを書きましたが、影響はありません: add_action( 'admin_init'、 'flush_rewrite_rules'); add_action( 'generate_rewrite_rules'、 'geotags_add_rewrite_rules'); 関数geotags_add_rewrite_rules($のwp_rewrite) {$ new_rules =配列( 'P /(.+)' => 'index.phpをP =' $ wp_rewrite-> preg_index(1))。 //グローバルルールの配列の先頭に新しい書き換えルールを追加します $ wp_rewrite-> rules = $ new_rules + $ wp_rewrite-> rules; } – David

関連する問題