WordPress recupera metadados para todos os tipos de post personalizado na exibição de lista

9

Estou tendo um problema no WordPress onde o PHP está morrendo. Eu aumentei a memória, mas o processo do PHP salta para 100% do uso da CPU e depois morre e o Apache gera um erro 500.

Eu tentei fazer com que o Apache registrasse algo, ou PHP / MySQL para registrar um erro, mas nada é registrado além de um erro geral do 500.

O problema do 500 está na página da lista, por exemplo:

/wp-admin/edit.php?post_type=artist

Atualmente, temos mais de 1.200 inscrições de artistas no WordPress, se eu acrescentar uma data como esta:

/wp-admin/edit.php?post_type=artist&orderby=date

Em seguida, a lista é carregada até bem, rápido mesmo! Eu sentei e observei o log de consultas do MySQL e parece que o WordPress está carregando os metadados para cada postagem (todos os 1200 deles) para produzir a lista de 10 ou mais. Para apenas uma das consultas, está retornando 92.000 linhas. Estou usando Advanced Custom Fields e um template com seu próprio framework, então cada post tem uma boa quantidade de metadados anexados. Eu estou pensando que isso é muito dados para o PHP processar e estou atingindo um teto aqui. Os 1200 postos provavelmente dobrarão facilmente no próximo ano.

Como posso forçar o carregamento de página inicial para acrescentar a classificação de data ou corrigir o problema com o carregamento de todos os metadados?

    
por Paul Cullen 15.04.2016 / 13:57

2 respostas

1

Tente alterar hierárquico: false na sua definição de CPT (se seu aplicativo permitir).

Quando os CPTs são definidos como hierárquicos: true, todas as postagens serão consultadas no painel administrativo, o que pode causar problemas de memória.

    
por locomo 16.06.2016 / 05:02
0

O problema era que o CPT era configurado para hierárquico, comutando para hierárquico: false no functions.php resolveu o problema.

    
por Paul Cullen 14.06.2016 / 17:13