Organizar Custom Post Type por Menu_Order com Paginação
-
Olá! Depois de anos de uso de WordPress é a primeira vez que não encontro uma solução para o que preciso, pelo menos não uma que funcione para mim.
Estou desenvolvendo uma plataforma de cursos online no wordpress que já está na etapa final, mas uma questão está impossibilitando de entregar o sistema.
A questão é a seguinte.
Tendo criado um tipo de post denominado ‘curso’ e habilitado page-attributes e hierarchical TRUE, a página que lista os post[‘curso’] não é organizada por menu_order como gostaría que fosse.Já encontrei algumas soluções que apenas organizam na primeira página, mas nas demais, ao invés de chamar os post[‘curso’] seguintes, repetem-se os mesmo, invariavelmente.
A query que tentei usar para ordenar e paginar corretamente (o que não ocorre) é:
$cursos = new WP_Query(array( 'post_type' => 'curso', 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC', //'posts_per_page' => -1, 'paged' => $paged, 'posts_per_page' => -1, 'caller_get_posts'=> 1 ));Desde já fico grato pela ajuda e agradeço a comunidade ativa desta plataforma espetacular que é o WordPress.
Viva o OpenSource!
-
Pelo query que colocas-te não pretendes paginar os resultados a instrução
'posts_per_page' => -1faz isso mesmo.
exprimenta desta forma:$cursos = new WP_Query(array( 'post_type' => 'curso', 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC', 'nopaging' => false, 'paged' => get_query_var('paged') ));Muito obrigado Ricardo!
Deu certo a ordem da exibição da lista de post[‘curso’] e a paginação.
O que não está correto agora é a exibição da ordem chamada por:
previous_post_link()Será de grande ajuda se puder me guiar nisso também!
Grato desde já!
Experimenta sem o último parâmetro:
'paged' => get_query_var('paged')Não, voltou o problema anterior.
Na verdade, esta função nativa do wordpress, que mencionei anteriormente, não recebe isntruções por $cursos->, o que impede que eu altere-a deste modo.
Não tem um jeito de eu passar a ordenação deste custom post type direto no código que cria ele?
Eu digo ‘page-attributes’, não posso dizer ‘orderby’ => ‘menu_order’?
Ve se te ajuda a me ajudar:
descobri que posso colocar a função assim:
previous_post_link( '<span class="tooltip" title="Matéria Anterior">%link</span>', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentytwelve' ) . '</span> %title', $cursos->max_num_pages );onde $cursos-> recebe os argumentos da consulta.
Mas apesar de funcionar, ainda não está correta a organização por menu_order.
Grato desde já!!
Esquece o último post, eu mudei em um lugar e vi em outro.
Nada feito, não funciona.
rsrsBom, vou marcar como resolvido o tópico porque o código que o amigo Ricardo me passou está de acordo com o que questionei e com o título do tópico.
Obrigado Ricardo!
Vou abrir um outro tópico sobre meu outro problema.
Obrigado comunidade WordPress!
O tópico ‘Organizar Custom Post Type por Menu_Order com Paginação’ está fechado a novas respostas.