WordPress пользовательский пост-тип нумерации записей по параметру $ _GET - PullRequest
1 голос
/ 20 января 2012

У меня есть одна страница, на которой я хочу сделать нумерацию страниц для определенного пользовательского типа записи, называемого «article», и я также использую параметр $ _GET, называемый «week».

В основном, когда я перехожу к http://www.mydomain.com/single-page/?week=7, я хочу видеть разбиение на страницы моих постов из типа статьи "article" с таксономией, называемой неделей, равной 7.

Все нормально, но функция paginate_links действует не так, как я хочу. Например, ссылка на 2 страницы имеет этот URL http://www.mydomain.com/single-page/?week=7/page/2., но этот URL не работает, он выдает ошибку 404.

Но этот URL http://www.mydomain.com/single-page/page/2/?week=7 работает. Так в чем же решение?

  1. Есть ли способ сказать Wordpress использовать www.mydomain.com/single-page/page/2/?week=7, когда я иду на www.mydomain.com/single-page/?week= 7 / страница / 2?

  2. У вас есть хороший учебник по нумерации постов пользовательских постов?

Это код, который я использую для разбивки на страницы:

//The paginate function

    function paginate_articles_week()
    {
        global $wp_query, $wp_rewrite;
        $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
        $pagination = array(
            'base' => @add_query_arg('page'),
            'format' => '?page=%#%',
            'total' => $wp_query->max_num_pages,
            'current' => $current,
            'show_all' => true,
            'type' => 'list',
            'prev_text' => '«',
            'next_text' => '»',
        );
        if ($wp_rewrite->using_permalinks())
            $pagination['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s', get_pagenum_link(1))) . 'page/%#%/', 'paged');
        if (!empty($wp_query) && $pagination['total'] != 1) {
            $pagination['add_args'] = array('s' => get_query_var('s'));
            echo "<div class='paginate'><strong>Pagini:</strong>" . paginate_links($pagination) . "</div>";
        }
    }

//The page template

global $post;

$week = $_GET['week'];
$slug = 'week-' . $week . '-month-2';

$paged = 1;
$postsPerPage = 1;

if (get_query_var('paged')) { $paged = get_query_var('paged'); }
if (get_query_var('page'))  { $paged = get_query_var('page');  }

$args = array(
    'post_type'=> 'article',
    'paged'    => $paged,
    'posts_per_page' => $postsPerPage,
    'timeline'       => $slug
);


query_posts($args);
{the loop}

paginate_articles_week();

Заранее спасибо за ответы:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...