Automattic / Automattic/VIP-Coding-Standards

New Sniff: wp_get_post_revisions memory issues

Ouverte
#468 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Standard: VIP-Go Type: Enhancement
Langage dominant
PHP
Étoiles
261
Forks
44
Merge moyen
19 min
PR mergées (30 j)
1

Description

## 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' ) );
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les exemples wp_get_post_revisions en infraction et autorisés de l'issue, ainsi que par le ticket WordPress Trac lié. C'est terminé lorsque les appels sans argument fields sont signalés, tandis que les appels demandant ids ou une autre valeur de fields ne le sont pas.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
performance, tooling
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.