it-swarm.com.de

Übergeben und Abrufen von Abfragevariablen in WordPress

Ich habe zwei Autorenseiten, eine zeigt ungefähr 5 Beiträge an. Dann versuche ich, eine andere Seite einzurichten, die alle ihre Beiträge enthält. Ich habe eine Vorlage mit dem Namen moreauthorposts.php erstellt und versuche, die Autorenvariable an diese Seite zu übergeben. Das Problem ist, wenn ich domain.com/more-author-posts?author=johndoe übergebe, wird es abgestreift. Wie kann ich diesen Wert abrufen? Ist das überhaupt in WordPress möglich? Ich weiß, dass WP Rewrite meine URL-Struktur überträgt. Ich bin mir einfach nicht sicher.

Ich habe es versucht:

get_query_var('author')

und versuchte dies zu lesen, hatte aber kein Glück:

http://codex.wordpress.org/Query_Overview

Vorschläge?

Vielen Dank.

15
codeisforeva

Ich bin mir fast sicher, dass author eingebaut ist. Verwenden Sie also so etwas wie author_more. Sie müssen diese Variable zuerst zu query_vars hinzufügen. Beispiel:

// add `author_more` to query vars
add_filter( 'init', 'add_author_more_query_var' );
function add_author_more_query_var()
{
    global $wp;
    $wp->add_query_var( 'author_more' );
}

Rufen Sie dann auf Ihrer more-author-posts.php-Vorlage Folgendes auf:

if ( get_query_var( 'author_more' ) )
{
    // do your stuff
}

Aktualisieren

Dies funktioniert im folgenden URI-Beispiel/Anwendungsfall:

http://example.com/index.php?author_more=value

Wenn Sie dies jedoch als ausgefallene URL verwenden möchten, müssen Sie eine Umschreiberegel hinzufügen:

add_action('init','add_author_more_rewrite_rule');
function add_author_more_rewrite_rule()
{
    add_rewrite_rule(
        'more-author-posts/(\d*)$',
        'index.php?author_more=$matches[1]',
        'top'
    );
}

Jetzt können Sie es so verwenden

http://example.com/more-author-posts/value
20
Bainternet