1

カスタム投稿タイプの書き換えルールを作成しようとしています。「/%post_type_name%/%taxonomy_slug/%post_slug%」のようなものにする必要があります。ルールを追加するために使用したコードは次のとおりです。

add_action('init', 'episodes_rewrites_init');

function episodes_rewrites_init(){
    add_rewrite_rule(
        '^episodes/([^/]*)/([^/]*)/?$',
        'index.php?post_type=episodes&seasons=$matches[1]&episodes=$matches[2]', 'top'
    );
}

うまくいかず、その理由がわかりません。助けてください。

4

2 に答える 2

0

まあ、私は一度も使用add_rewrite_ruleしたことがありません.WP codexはそれがIt is most commonly used in conjunction with add_rewrite_tag().
ですから、退役軍人が昔、この書き換え規則をどのように行っていたかをお見せします。
しかし、大衆向けのプラグインを構築している場合は、使用を避ける必要がありますWP 3.5 features。多くの人がまだ WP2.* を使用しています。

これらの一連のアクションは、次のことに役立ちます。

add_action('init', 'flushRewriteRules');
function flushRewriteRules()
{
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

add_filter('rewrite_rules_array', 'insertMyRewriteRules');
function insertMyRewriteRules($rules)
{
    $newrules['^episodes/([^/]*)/([^/]*)/?$'] = 'index.php?post_type=episodes&seasons=$matches[1]&episodes=$matches[2]';
    return $newrules + $rules;
}

add_filter('query_vars', 'insertMyRewriteQueryVars');
function insertMyRewriteQueryVars($vars)
{
    array_push($vars, 'episodes', 'seasons', 'post_type');
    return $vars;
}
于 2013-01-21T00:40:28.547 に答える
0

さて、「カスタム投稿タイプのパーマリンク」というプラグインをインストールし、「/%seasons%/%postname%/」のようなカスタム投稿用の URL テンプレートを追加したところ、必要に応じて URL が書き換えられました。しかし、コードでそれを行う方法はまだわかりません...

于 2013-01-21T06:43:55.257 に答える