Add WordPress filter hook to customize or disable Permissions-Policy client hint headers

Ouverte Adaptée aux débutants
#1,239 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
php, wordpress

Piste de recherche

Commence dans inc/admin.php à get_permissions_policy() et add_permission_policy(), les deux fonctions nommées dans l’issue, et trace l’endroit où la valeur de Permissions-Policy est passée à header(). Enveloppe le tableau clé/valeur dans apply_filters() avec un nom de hook documenté, et court-circuite avant l’envoi lorsque le résultat filtré est false, une chaîne vide ou un tableau vide. Terminé signifie que l’en-tête peut être supprimé ou modifié depuis un thème ou une extension, et que le hook est documenté dans la documentation développeur.

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

Description

customer report feature-request-triage

Impact: 60 · Confidence: 95 · Complexity: 20

Description

Problem

The Optimole WordPress plugin automatically emits a Permissions-Policy: ch-viewport-width=(self ...) header in inc/admin.php to enable Client Hints / Smart Image Scaling. However, there is currently no WordPress filter hook wrapping this response header. Site administrators who want to remove or customize the header (for example, to prevent low-resolution image selection on cached pages or mobile viewports where text density is critical) must write custom code to strip headers late in execution, which is fragile and prone to breaking during plugin updates.

Desired Behavior

Expose a WordPress filter hook (e.g. optimole_permissions_policy_header or optml_permissions_policy) allowing developers to filter the header key/value array or disable the Permissions-Policy header completely before it is sent via header().

Acceptance Criteria
  • Introduce a WordPress filter hook surrounding the generation/output of the Permissions-Policy header in inc/admin.php.
  • Returning false, an empty string, or an empty array from the filter suppresses the header from being sent.
  • Document the filter hook for site developers in technical/developer docs.

Customer Context

John Green (Founder & CEO at Fighting Arts Health Lab, starter-2 paid subscriber) observed that client hints were sending smaller 414px images to mobile viewports, which rendered text inside card images visibly soft/blurry on high-density mobile screens. To fix this, his team decided to strip the ch-viewport-width Permissions-Policy header. Because Optimole currently has no filter hook on get_permissions_policy() / add_permission_policy() in inc/admin.php, they were forced to strip the header with custom code after Optimole sends it. He requested a supported filter or setting so custom header modifications won't break on plugin updates.

Root Cause Analysis

The customer's underlying goal is to control whether Optimole sends the Permissions-Policy Client Hint header without having to write fragile post-header removal scripts. Optimole's inc/admin.php sends hardcoded header directives without passing them through WordPress apply_filters(). Providing a developer filter hook directly addresses this capability gap in a standard WordPress-idiomatic way.


Source: HelpScout #3513913699
Generated by feature-request-triage workflow (ID: feature-request-triage_6af9bb9d556245.38695477)

Langage dominant
PHP
Étoiles
74
Forks
14
Merge moyen
1 j 20 h
PR mergées (30 j)
39

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Codeinwp/optimole-wp

Toutes les issues de Codeinwp/optimole-wp

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

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