web-dev-qa-db-ja.com

getパラメータをカスタム投稿タイプに書き換えます

私は次の問題を解決するために2、3日間努力しています:

私はgalleryというカスタム投稿タイプを持っています。 URLが必要です

http://example.com/gallery/FOOBAR

のように解析される

http://example.com/gallery/?param=FOOBAR

カスタム投稿タイプの固定リンク設定は次のとおりです。

/gallery/%postname%/%year%/%monthnum%/%day%/

私はこの問題を解決するために見つけることができたすべてのコード断片について試したことがあると思いますが、何もうまくいかないようです。
すべての書き換えをフラッシュすると、リンクが機能しなくなります(404)

可能ですか?

4
user21036

私はそれがうまくいくと思います。まず、書き換えルールとパラメータを登録する必要があります。

function my_init() {
    add_rewrite_rule(
        'gallery/(.+?)/?$',
        'index.php?post_type=gallery&param=$matches[1]',
        'top' );
    add_rewrite_tag('%param%','([^&]+)');
}
add_action('init', 'my_init');

その後、クエリからパラメータ値を読み取ることができます。

$param = get_query_var('param');

書き換えをフラッシュすることを忘れないでください。 (書き換え設定ページを表示してルールをフラッシュするだけです)

3
Parham