web-dev-qa-db-fra.com

Comment puis-je générer dynamiquement une image avec une URL d'image statique?

Ce que j'essaie de faire est très simple.

Chaque fois que quelqu'un visite, dites site.com/socialproof.png, je veux qu'il utilise une règle de réécriture pour le diriger vers un fichier de mon dossier plugins.

Puis-je faire cela avec les règles de réécriture de WP ou dois-je l'ajouter manuellement au fichier .htaccess? Qu'est-ce que j'utiliserais comme règle de réécriture pour faire cela? Merci!

1
Jared

L'utilisation de réécritures .htaccess ne serait pas une bonne approche car elle échouerait lorsque le plugin serait désactivé.

Vous ne pouvez pas non plus réécrire les URL d’image avec WordPress, car son analyse de requête native ne reconnaît pas les noms de fichiers individuels. Cependant, si une image n'existe pas, le serveur Web redirigera la demande vers WordPress pour la gestion. Cela nous permet d’accrocher et d’inclure votre modèle d’image dynamique.

add_action('init', 'wpse_44612_init', 0);
function wpse_44612_init(){
    if(preg_match('/socialproof\.png/', $_SERVER['REQUEST_URI'])){
        require_once(ABSPATH.'/wp-content/plugins/SocialProof/classes/SocialProofMakeImage.php');
        die();
    }
}

Avec cette approche, votre URL apparaît sous forme d'image statique, mais elle est générée dynamiquement via votre fichier de classe PHP.

Vous pouvez télécharger le fichier plugin est ici .

1
Brian Fegter