Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

add_filter // réutiliser 2eme variable


Sujet :

WordPress PHP

  1. #1
    Membre régulier
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2015
    Messages : 141
    Points : 83
    Points
    83
    Par défaut add_filter // réutiliser 2eme variable
    Bonjour,

    Je suis relativement débutant de Wordpress / Hook et PHP
    Je cherche à modifier un plugin, j'ai donc contacté l'auteur du plugin qui m'a fournit un Filtre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $shapes_html = apply_filters( 'save_me', $shapes_html, $shapes_data );
    Je sais que ce filtre permet de modifier $shapes_html, mais ce n'est pas ce que je veux.
    Mon plan est de récupérer les datas de: $shapes_data et de les utiliser dans une autre function.

    C'est pourquoi je me suis dis, qu'il fallait créer une function save_me, dans laquelle je return (sans modifier) les valeurs de $shape_html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    add_filter('save_my_shape', 'save_me', 10, 2);
    function save_me (  $shapes_html, $shapes_data ) {
     
    return $shapes_html;
    et au passage, j'en profiterai pour sauvegarder la variable qui m'intéresse: $shapes_data.
    et c'est là que j'ai besoin d'aide... comment faire?

    1) j'ai pensé à créer une autre function à l'intérieur de save_me() mais on m'a dit que ça ne se faisait pas.
    2) j'ai aussi lu qu'on pouvait créer des class pour enregistrer des variables à tout moment... mais je n'ai aucune idée de comment faire, et surtout les articles que j'ai pu lire à ce sujet datent de 2012...
    3) j'ai enfin pensé à déclarer une global $variable, mais j'ai cru également que ce n'était pas dans les bonnes pratiques...

    Comment faire?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 7 161
    Points : 11 260
    Points
    11 260
    Par défaut
    est ce qu'il s'agit d'une extension libre qui se trouve sur wordpress.org ?

  3. #3
    Membre régulier
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2015
    Messages : 141
    Points : 83
    Points
    83
    Par défaut
    Bonjour mathieu,

    Non ce n'est pas une extension libre, il s'agit d'une extension payante pour Contact Form 7, je peux fournir le nom si besoin.
    J'ai changé le nom du filtre en "save_me".

    L'idée c'était de comprendre le principe, car j'ai l'impression que ma demande est un "cas d'école" et n'est pas spécifique au plugin.. mais je me trompe peut être?

    Merci en tout cas de te pencher sur ma problématique

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 7 161
    Points : 11 260
    Points
    11 260
    Par défaut
    si tu n'arrives pas à personnaliser l'extension avec un filtre ou une action, il faut voir si tu comptes sur des prochaines mises à jour de cette extension.
    si ce n'est pas le cas tu peux modifier directement l'extension. et si tu as besoin des mises à jour, le plus pratique est de contacter le développeur pour qu'il rajoute un crochet dans son code.

  5. #5
    Membre régulier
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2015
    Messages : 141
    Points : 83
    Points
    83
    Par défaut
    en faite c'est la première fois qu'il me prend l'envie de faire ce type de modif sur un plugin.
    L'auteur m'a dit que via ce filtre, je pourrai modifier la valeur shapes_html si besoin , et à la fois récupérer les données de shapes_data. Ce qui m'irait bien puisque je pourrai intégrer cela dans mon child_theme function.php et profiter des prochaines maj.

    J'ai bien compris comment modifier le shapes_html. Mais je n'arrive pas à "extraire" shapes_data en dehors de cette function save_me.
    En effet, j'arrive à "lire" shapes_html à l'intérieur de la function, mais je ne sais pas comment réutiliser cette données.

Discussions similaires

  1. Réutiliser une variable ResultSet
    Par m1ckros dans le forum JDBC
    Réponses: 4
    Dernier message: 20/05/2009, 13h19
  2. Business Object-Réutilisation des variables
    Par pikitomio dans le forum Deski
    Réponses: 4
    Dernier message: 08/08/2008, 07h01
  3. [MySQL] Réutiliser une variable dans une requête SQL
    Par marlozo dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 30/12/2006, 08h52
  4. [XSLT] Réutiliser une variable définie dans une boucle
    Par DelphLaga dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/10/2006, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo