Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

New Sniff: wp_get_post_revisions memory issues

Aberta
#468 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
php
Domínio
performance, tooling

Direção de pesquisa

Comece pelos exemplos de wp_get_post_revisions que violam a regra e pelos permitidos no issue, além do ticket vinculado do WordPress Trac. Considera-se concluído quando chamadas sem um argumento fields são reportadas, enquanto chamadas que solicitam ids ou outro valor de fields não são reportadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Standard: VIP-Go Type: Enhancement

What problem would the enhancement address for VIP?

wp_get_post_revisions can be problematic because it loads the entire post object for each revision. I've seen this in CLI commands and other places, where you might be looping through a set of posts, and then suddenly have to load the entire post objects for every revision a post has. If those revisions are large and numerous - it quickly fails.

Related trac: https://core.trac.wordpress.org/ticket/34560

Describe the solution you'd like

We should suggest they only get the IDs for the revisions instead of the whole object:

wp_get_post_revisions( $post->ID, array( 'fields' => 'ids' ) );

What code should be reported as a violation?

Anything that doesn't have the fields argument, like:

 wp_get_post_revisions( $post->ID );

What code should not be reported as a violation?

Getting the ids field or other fields instead of the whole object.

wp_get_post_revisions( $post->ID, array( 'fields' => 'ids' ) );
Linguagem predominante
PHP
Estrelas
261
Forks
44
Merge médio
3d 9h
PRs com merge (30d)
10

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Automattic/VIP-Coding-Standards

Todas as issues de Automattic/VIP-Coding-Standards

Issues semelhantes

Mais issues de PHP

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.