0

いくつかのURLをカスタムテンプレートに書き直す必要があります。たとえば、にページがdomain.com/pageあり、ユーザーが要素の「削除」をクリックすると、に移動しdomain.com/page/?remove=54ます。に書き直してほしいdomain.com/page/remove/54

助けていただければ幸いです、よろしくお願いします!

4

1 に答える 1

3

この正確なコードはテストされていませんが、最近解決した同様の状況の別のインスタンスから派生しています。

add_action( 'init', 'ss_permalinks' );
function ss_permalinks() {
    add_rewrite_rule(
        'page/remove/([^/]+)/?',
        'index.php?pagename=page&service=$matches[1]',
        'top'
);
}
add_filter( 'query_vars', 'ss_query_vars' );
function ss_query_vars( $query_vars ) {
    $query_vars[] = 'removeid';
    return $query_vars;
}

実装後、パーマリンク設定を一度再保存します。pageユーザーがこのURLにアクセスするときに指すページのスラッグ(domain.com/page/remove/432)であり、URLの$matches[1]後の番号である必要がありremove/ます。この番号には、後で指定する変数からアクセスできます。/指定した場合$query_vars[] = 'removeid';、ターゲットページのテンプレートの$removeidがURLの番号になります。

于 2010-12-21T15:43:57.683 に答える