Вопрос

У меня есть две страницы авторов, одна отображает около 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top