webentwicklung-frage-antwort-db.com.de

So führen Sie ein einfaches URL-Rewrite ohne Umleitung durch

Wenn ich den folgenden einfachen Code verwende:

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

Ich würde erwarten, dass ich http://example.com/rewriteme besuchen und den Inhalt des Beitrags von Hello World sehen kann, während /rewriteme in der Adressleiste bleibt. Das geht aber nicht. Tatsächlich leitetzu http://example.com/hello-world/ weiter.

Wie kann ich den Inhalt des Hello World-Posts anzeigen, ohne die URL in der Adressleiste zu ändern?

(Und ja, ich habe die Umschreiberegeln gelöscht.)

1
Pete

Wenn Sie nur sehen den Inhalt des /hello-world Beitrags auf der /rewriteme Seite wollen, können Sie versuchen, so etwas auf der page.php Ihres Themas hinzuzufügen:

<?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