Correção personalizada de paginação 404 de tipo de postagem?

8

Estive tentando fazer isso funcionar o dia todo, mas não tive sorte ...

Eu tenho um tipo de postagem personalizado chamado 'news' e um modelo de arquivo (archive-news.php), aqui eu gostaria de mostrar 2 postagens com paginação, o que funciona bem, até que eu tente ir para a 'página seguinte' ( / news / page / 2), que retorna um erro 404.

Alguma idéia de como consertar isso / o que estou fazendo de errado?

Eu literalmente passei o dia todo tentando encontrar uma solução para isso pesquisando no Google e nos formulários do WordPress, encontrei muitas soluções, nenhuma das quais funcionou até agora.

Minha função de tipo de postagem personalizada: http://pastebin.com/uG1L6YNu
Minhas regras de reescrita são impressas: http://pastebin.com/jbaDANYr

Dale-Anthony
fonte
Ah, e também ... Meu arquivo de notícias-archive.php: pastebin.com/vjcx77F7
Dale-Anthony

Respostas:

16

Isso agora está funcionando para mim ... para aqueles que têm o mesmo problema, todo o código estava correto.

O problema foi que o WordPress está configurado para mostrar 10 postagens por página, por padrão, que colidiram com minha consulta (limitando-a a 2 postagens) para corrigir o problema. Alterei a configuração do WordPress (Configurações / Leitura no painel do administrador) para 1.

Dale-Anthony
fonte
11
Esse problema surge o tempo todo. IMHO, tipos de postagem personalizados não são postagens regulares, portanto, deve haver uma variável de consulta posts_per_page separada para cada tipo de postagem. De qualquer forma, aqui está uma resposta que mostra como mexer com o valor posts_per_page em tempo real, sem mexer com a configuração no admin: wordpress.stackexchange.com/questions/30757/…
Dave Romsey
Essa pergunta do goto10 funciona como um encanto e é melhor se você ainda quiser usar a configuração de postagens por página em outras páginas, ainda estou curioso para saber por que isso acontece, é a primeira vez que isso acontece comigo. para o usuário posts_per_pagecomo o normal antes, sem entrar em conflito com as configurações do WP.
Javier Villanueva
2
Muito obrigado por esta informação! Estive puxando meu cabelo mexendo com regras de reescrita e tudo mais, e acontece que esse é o problema.
precisa saber é o seguinte
É 2019, e esta resposta ainda é válida! Surpreendente.
Cenlan
7

Encontrei a solução aqui: http://walrusinacanoe.com/web-development/742

É elegante e funcional:

add_action( 'parse_query','changept' );
function changept() {
    if( is_category() && !is_admin() )
        set_query_var( 'post_type', array( 'post', 'your_custom_type' ) );
    return;
}
eveevans
fonte
11
Isso realmente funcionou para mim. A outra solução (WP-Admin / Settings / Reading / 1) não funcionou. Obrigado por isso! (horas de depuração e busca desperdiçado)
TCattd
0

Você provavelmente já tentou isso, mas redefinir os links permanentes pode resolver esse problema. Vá para Configurações-> Links permanentes e salve os links permanentes novamente.

danielwiener
fonte
Obrigado, tentei, mas o problema ainda permanecia.
Dale-Anthony