web-dev-qa-db-ja.com

動的なワードプレスのページを書き直す

私はwordpressで少し困っています、あなたが私を助けることができることを望みます:)

私は別のパラメータで呼び出すことができますサブページがあります。

きれいなURLにしてサブページ名を消したい。

これを行うために、私はこのadd_rewrite_ruleを試してみました:

function add_directory_rewrite() {
add_rewrite_tag("%symbol%", '([a-zA-Z0-9_]+)');
add_rewrite_rule('^crypto-monnaies/([a-zA-Z0-9_]+).html', '/crypto-monnaies/showcoin/?symbol=$matches[1]', 'top');
}

add_action( 'init', 'add_directory_rewrite' );

問題は、私が書き換えられたURLを呼び出すとき、それがに https://www.cryptolia.fr/crypto-monnaies/showcoin/ なしでリダイレクトすることですパラメータ

それで最初は301リダイレクトではいけません、そして第二に:それは私がPHPでそれをつかむことができるようにパラメータを運ぶべきです。

ご協力ありがとうございます。

1
Olivier Bureau

返信ありがとう

それで、掘り下げて、それは働いています:

function myplugin_rewrite_tag_rule() {
   add_rewrite_tag( '%symbol%', '([a-zA-Z0-9_]+)' );
   add_rewrite_rule( '^crypto-monnaies/([a-zA-Z0-9_]+)/?$', 'index.php?
pagename=showcoin&symbol=$matches[1]','top' );
}
add_action('init', 'myplugin_rewrite_tag_rule');

function add_query_vars( $query_vars ) {
   $query_vars[] = 'symbol';
   return $query_vars;
}
add_filter( 'query_vars', 'add_query_vars' ); 

動的ページが第2レベルのページの場合は、?pagename = parent-page/child-page(スラッシュ付き)を呼び出す必要があります。

私の問題を解決するために、私は最初のレベルに "showcoin"ページを置きました。

1
Olivier Bureau