web-dev-qa-db-ja.com

リダイレクトせずに基本的なURLの書き換えを行う方法

私が以下の簡単なコードを使うならば:

function my_custom_rewrite_rules() {
    add_rewrite_rule(
        '^rewriteme$',
        'index.php?page_id=1',
        'top'
    );
}
add_action('init', 'my_custom_rewrite_rules');

http://example.com/rewritemeをアドレスバーに残したまま、/rewritemeにアクセスしてHello Worldの投稿の内容を見ることができると期待しています。しかし、うまくいきません。実際にhttp://example.com/hello-world/にリダイレクトします。

実際にアドレスバーのURLを変更せずにHello World投稿のコンテンツを表示するにはどうすればよいですか。

(そして、はい、書き換えルールをフラッシュしました。)

1
Pete

/hello-worldページの/rewriteme投稿の内容をseeにしたいだけの場合は、テーマの page.php に次のようなものを追加してみてください。

<?php
    if (is_page('rewriteme')) {
        // query for the about page
        $your_query = new WP_Query( 'postname=hello-world' );
        // "loop" through query (even though it's just one page) 
        while ( $your_query->have_posts() ) : $your_query->the_post();
            the_content();
        endwhile;
        // reset post data (important!)
        wp_reset_postdata();
    }
?>
1
Castiblanco