Прохождение и получение запросов VAR в WordPress
-
16-10-2019 - |
Вопрос
У меня есть две страницы авторов, одна отображает около 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
. Анкет Вам нужно будет добавить это в вар 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