WordPressのクエリVARを渡して取得します
-
16-10-2019 - |
質問
2つの著者ページがあり、1つは約5つの投稿を表示します。それから、私は彼らのすべての投稿となる別のページをセットアップしようとしています。 moreauthorposts.phpというテンプレートを作成しましたが、著者変数をこのページに渡そうとしています。問題は、domain.com/more-author-posts?author = johndoeを渡す場合です。この値を取得するにはどうすればよいですか?これはWordPressでも可能ですか? WP Rewriteが私のURL構造をジャックしていることを知っています。
私はもう試した:
get_query_var('author')
これを読んでみましたが、運がありませんでした:
http://codex.wordpress.org/query_overview
提案?
ありがとう。
解決
私はそれをほぼ確信しています author
組み込まれているので、ようなものを使用してください author_more
. 。そのvarを追加する必要があります query_vars
最初。例:
// 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' );
}
それからあなたに more-author-posts.php
テンプレートは次のように呼びます:
if ( get_query_var( 'author_more' ) )
{
// do your stuff
}
アップデート
これは、次のURLの例/ユースケースで機能します。
http://example.com/index.php?author_more=value
ただし、これを派手なURLとして使用する場合は、書き換えルールを追加する必要があります。
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'
);
}
これで、このように使用できます
http://example.com/more-author-posts/value
所属していません wordpress.stackexchange