{"id":8073,"date":"2023-08-14T14:22:17","date_gmt":"2023-08-14T21:22:17","guid":{"rendered":"https:\/\/membermouse.com\/?post_type=ht_kb&#038;p=8073"},"modified":"2025-01-07T09:55:29","modified_gmt":"2025-01-07T14:55:29","slug":"filtres-wordpress-membermouse","status":"publish","type":"ht_kb","link":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/","title":{"rendered":"Filtres WordPress MemberMouse"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Les filtres sont des fonctions par lesquelles WordPress fait passer les donn\u00e9es, \u00e0 certains moments de l'ex\u00e9cution, juste avant d'effectuer une action sur les donn\u00e9es. MemberMouse d\u00e9finit son propre ensemble de filtres que vous pouvez utiliser pour contr\u00f4ler le flux d'ex\u00e9cution dans MemberMouse avant que certaines actions ne soient effectu\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s a basic example:<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>function customContentProtection($data)\n{\n     return true ;\n}\nadd_filter('mm_bypass_content_protection', 'customContentProtection') ;\n<\/code><\/pre>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, we&#8217;re using the&nbsp;<a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/add_filter\" target=\"_blank\" rel=\"noreferrer noopener\"><em>add_filter()<\/em><\/a>&nbsp;pour indiquer que la m\u00e9thode&nbsp; <em>customContentProtection()<\/em>&nbsp;doit \u00eatre appel\u00e9e lorsque MemberMouse applique la m\u00e9thode&nbsp; <em>mm_bypass_content_protection<\/em>&nbsp;filtre. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To learn more about working with WordPress&#8217; Action API&nbsp;<a href=\"http:\/\/codex.wordpress.org\/Plugin_API\" target=\"_blank\" rel=\"noreferrer noopener\">lire cet article<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9f\u00e9rence du filtre MemberMouse<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The following is a list of all of the MemberMouse filters, a description of when they&#8217;re executed, and information on the data that will be passed to any function hooked into the filter.<\/p>\n\n\n\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Intervalle d'analyse de la facturation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_intervalle_de_facturation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><mark style=\"background-color:#fcb900\" class=\"has-inline-color has-black-color\">MemberMouse 3.0+<\/mark><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse ex\u00e9cute p\u00e9riodiquement un <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/\" target=\"_blank\" rel=\"noopener\" title=\"WP-Cron\">WP-Cron<\/a> qui recherche les abonnements devant \u00eatre refactur\u00e9s et les met en file d'attente en vue de leur traitement par le syst\u00e8me de facturation local. Par d\u00e9faut, les analyses sont effectu\u00e9es toutes les quinze minutes. Ce filtre vous permet de modifier l'intervalle entre les analyses, ce qui peut s'av\u00e9rer utile pour optimiser les performances de votre site. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le plugin passe un seul argument <code>$scanInterval<\/code> \u00e0 votre fonction, un nombre entier repr\u00e9sentant le nombre de minutes par d\u00e9faut entre les balayages. Votre fonction doit renvoyer un nombre entier repr\u00e9sentant le nombre de minutes souhait\u00e9 entre les analyses. Par exemple, la fonction suivante recherche les abonnements pr\u00eats \u00e0 \u00eatre factur\u00e9s toutes les cinq minutes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function customBillingScanInterval($scanInterval)\n{\n   retourne 5 ;\n}\nadd_filter(\"mm_billing_scan_interval\", \"customBillingScanInterval\", 10, 2) ;\n<\/code><\/pre>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Intervalle de relance de l'abonnement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_billing_subscription_dunning_intervalle<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><mark style=\"background-color:#fcb900\" class=\"has-inline-color has-black-color\">MemberMouse 3.0+<\/mark><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un abonnement n'est pas factur\u00e9 \u00e0 la date pr\u00e9vue, MemberMouse effectue trois tentatives suppl\u00e9mentaires pour recouvrer le paiement. Ce filtre vous permet de contr\u00f4ler l'intervalle entre les tentatives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse transmet deux arguments \u00e0 votre fonction. Le premier est un entier <code>$failureIntervalle<\/code>&nbsp;qui repr\u00e9sente le nombre de jours par d\u00e9faut avant la prochaine tentative. Le deuxi\u00e8me est un nombre entier <code>$failureState<\/code>&nbsp;qui repr\u00e9sente l'\u00e9tat d'\u00e9chec particulier de la facturation. Il existe actuellement trois \u00e9tats d'\u00e9chec : 2, 3 et 4, qui repr\u00e9sentent respectivement la deuxi\u00e8me, la troisi\u00e8me et la derni\u00e8re tentative de recouvrement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your function should return an integer representing the number of days that should be allowed to elapse before the next attempt. Here&#8217;s an example that replicates the default dunning intervals:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function customDunningInterval($failureInterval, $failureState)\n{\n   switch ($failureState)\n   {\n      case 2 :\n         return 2 ; \/\/ Premi\u00e8re tentative, deux jours apr\u00e8s l'\u00e9chec de la refacturation initiale.\n      \n      case 3 :\n         return 3 ; \/\/ Deuxi\u00e8me tentative, trois jours apr\u00e8s la premi\u00e8re tentative.\n      \n      cas 4 : return 2 ; \/\/ Troisi\u00e8me tentative, deux jours apr\u00e8s la deuxi\u00e8me tentative\n         return 2 ; \/\/ Troisi\u00e8me tentative, deux jours apr\u00e8s la deuxi\u00e8me.\n      \n      par d\u00e9faut :\n         return $failureInterval ;\n   }\n}\nadd_filter(\"mm_billing_subscription_dunning_interval\", \"customDunningInterval\", 10, 2) ;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour personnaliser les intervalles de relance, il vous suffit de modifier les valeurs renvoy\u00e9es dans les trois instructions de cas pour obtenir la dur\u00e9e souhait\u00e9e en jours.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Acc\u00e8s en bloc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_block_access<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce filtre est appliqu\u00e9 apr\u00e8s que MemberMouse a d\u00e9termin\u00e9 que le visiteur actuel a acc\u00e8s au contenu, et vous permet de bloquer s\u00e9lectivement l'acc\u00e8s au contenu prot\u00e9g\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse transmet une valeur bool\u00e9enne <code>$blockAccess<\/code> \u00e0 votre fonction, indiquant si elle bloque l'acc\u00e8s au contenu par d\u00e9faut. Votre fonction doit renvoyer un bool\u00e9en indiquant si MemberMouse doit bloquer l'acc\u00e8s au contenu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, pour emp\u00eacher tous les membres d'acc\u00e9der \u00e0 des contenus prot\u00e9g\u00e9s :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function blockMemberAccess($blockAccess)\n{\n   return true ;\n}\nadd_filter(\"mm_block_access\", \"blockMemberAccess\", 10, 2) ;\n<\/code><\/pre>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Contourner la protection du contenu<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_bypass_content_protection<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This filter is applied after MemberMouse has determined the current visitor doesn&#8217;t have access to the content, and allows you to selectively bypass content protection. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse transmet une valeur bool\u00e9enne <code>$allowAccess<\/code> \u00e0 votre fonction, indiquant si elle doit permettre l'acc\u00e8s au contenu par d\u00e9faut. Votre fonction doit renvoyer un bool\u00e9en indiquant si MemberMouse doit autoriser l'acc\u00e8s au contenu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, l'option suivante permet \u00e0 tous les membres auxquels a \u00e9t\u00e9 attribu\u00e9 le droit de vote d'avoir acc\u00e8s \u00e0 l'information sur les droits d'auteur. <em>Contributeur<\/em> l'acc\u00e8s \u00e0 toutes les pages et \u00e0 tous les messages prot\u00e9g\u00e9s : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function allowAccessForContributors($allowAccess)\n{\n    if (current_user_can(\"contributor\"))\n    {\n        return true ;\n    }\n    else\n    {\n        return $allowAccess ;\n    }\n}\nadd_filter(\"mm_bypass_content_protection\", \"allowAccessForContributors\", 10, 2) ;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Veuillez noter que si ce filtre permet d'acc\u00e9der \u00e0 des pages et \u00e0 des messages qui seraient autrement inaccessibles, il n'a pas d'incidence sur l'analyse des SmartTags de d\u00e9cision.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Redirection de la connexion<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_login_redirect<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce filtre est appliqu\u00e9 avant que MemberMouse n'ex\u00e9cute son comportement de redirection de connexion par d\u00e9faut, \u00e0 savoir&nbsp;<a href=\"https:\/\/membermouse.com\/fr\/documents-3-2\/parametres-de-la-page-daccueil-du-membre\/\" target=\"_blank\" rel=\"noreferrer noopener\">configur\u00e9 dans les param\u00e8tres de la page d'accueil des membres<\/a>. Renvoyer une URL pour indiquer que MemberMouse doit rediriger l'utilisateur vers cette URL. Renvoyer une cha\u00eene vide pour indiquer que MemberMouse doit utiliser ses propres r\u00e8gles internes pour d\u00e9terminer o\u00f9 l'utilisateur doit \u00eatre envoy\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The object passed to your function contains the URL MemberMouse will redirect the user to if you don&#8217;t return an override URL and a user object containing data about the logged in user.<br>Si le nom de l'objet dans votre fonction est&nbsp;<code>$infoObj<\/code>&nbsp;then you&#8217;ll access the two data elements as follows:<\/p>\n\n\n\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>$infoObj-&gt;currentUrl\n$infoObj-&gt;user<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Descripteur de la d\u00e9claration de stripe<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_stripe_billing_statement_descriptor<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque MemberMouse lance une refacturation, il envoie diverses donn\u00e9es descriptives sur la charge. Le descripteur de relev\u00e9 est ce qui sera affich\u00e9 au client sur sa facture de carte de cr\u00e9dit, et il est \u00e9galement visible dans Stripe. Ce filtre vous permet de personnaliser le descripteur de relev\u00e9 pour les transactions de refacturation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veuillez noter que la longueur totale maximale du descripteur de relev\u00e9 est de 22 caract\u00e8res, et que l'envoi d'une cha\u00eene plus longue entra\u00eenera l'\u00e9chec du traitement du paiement. De plus, les donn\u00e9es que vous envoyez peuvent \u00eatre tronqu\u00e9es. Stripe cr\u00e9e finalement un \"descripteur de relev\u00e9 calcul\u00e9\" en ajoutant le descripteur que vous envoyez au descripteur abr\u00e9g\u00e9 sp\u00e9cifi\u00e9 dans la section <a href=\"https:\/\/dashboard.stripe.com\/settings\/public\" title=\"\">Tableau de bord Stripe Param\u00e8tres publics<\/a>mais la longueur maximale de cette cha\u00eene calcul\u00e9e est \u00e9galement de 22 caract\u00e8res, et tout ce qui d\u00e9passe cette longueur sera rejet\u00e9. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour calculer la longueur maximale du contenu qui sera affich\u00e9, utilisez la formule suivante :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>longueur maximale affich\u00e9e = 22 - (longueur du descripteur raccourci + 2)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse transmet deux param\u00e8tres \u00e0 votre fonction. Le premier est <code>$descripteur<\/code> qui est une cha\u00eene contenant les informations que MemberMouse enverra si elle n'est pas modifi\u00e9e. La seconde est <code>1TP4Commande<\/code> qui est un objet de classe standard contenant les donn\u00e9es de l'ordre MemberMouse, que vous pouvez utiliser pour construire le descripteur de d\u00e9claration.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s an example:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_filter(\"mm_stripe_billing_statement_descriptor\", function($descriptor, $order)\n{\n\n   $descriptor = \"Commande # : \" . $order-&gt;orderNumber ;\n   $maxLengthDescriptor = substr($descriptor,0,22) ;\n   return $maxLengthDescriptor ;\n}, 1, 2) ;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si votre descripteur abr\u00e9g\u00e9 est <em>ABC<\/em> vos clients devraient voir quelque chose comme cela sur leurs relev\u00e9s de carte de cr\u00e9dit :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>ABC* R\u00e9f\u00e9rence # : 10043<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce filtre ne peut agir que sur les re-facturations, et non sur les paiements initiaux. <\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Stripe PaymentIntent Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_stripe_paymentintent_description<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un autre \u00e9l\u00e9ment de donn\u00e9es envoy\u00e9 \u00e0 Stripe avec les factures est la description, que ce filtre vous permet de personnaliser. La description est l'une des colonnes qui s'affichent lorsque vous s\u00e9lectionnez <em>Paiements<\/em> dans Stripe Dashboard. La longueur maximale de ce champ est de 350 caract\u00e8res.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MemberMouse transmet deux param\u00e8tres \u00e0 votre fonction. Le premier est <code>$description<\/code> qui est une cha\u00eene contenant les informations que MemberMouse enverra si elle n'est pas modifi\u00e9e. La seconde est <code>1TP4Commande<\/code> qui est un objet de classe standard contenant les donn\u00e9es de l'ordre MemberMouse, que vous pouvez utiliser pour construire la description.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, pour attribuer \u00e0 ce champ la valeur&nbsp;<em>Order# 1234, Item : Adh\u00e9sion num\u00e9rique&nbsp;<\/em>vous pouvez utiliser la fonction suivante dans votre plugin :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_filter('mm_stripe_paymentintent_description', function($description, $order)\n{\n   $description = \"Order # \" . $order-&gt;orderNumber;\n   if (isset($order-&gt;orderProducts) &amp;&amp; is_array($order-&gt;orderProducts))\n   {\n      $description .= \", Item: \" . array_pop($order-&gt;orderProducts)-&gt;description;\n   }\n   return $description;\n}, 1, 2);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This filter can only act on rebills, not initial payments. To see all the data that&#8217;s possible to access on the <code>1TP4Commande<\/code> voir cet objet\u00a0<a href=\"https:\/\/storage.googleapis.com\/wpgcbucket\/wp\/2025\/01\/8bb79f95-oder-object-example-membermouse.txt\" target=\"_blank\" rel=\"noopener\" title=\"\">exemple d'objet de commande<\/a>.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Filtres par d\u00e9faut de MemberMouse<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il s'agit de filtres inclus dans le plugin qui peuvent \u00eatre remplac\u00e9s dans votre code personnalis\u00e9 \u00e0 l'aide de la fonction&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/codex.wordpress.org\/Function_Reference\/remove_filter\" target=\"_blank\">remove_filter<\/a>&nbsp;pour mettre en \u0153uvre vos propres filtres.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Validateur de la force du mot de passe<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mm_password_strength_validator<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de la version 2.2.9, MemberMouse prend en charge l'ajout d'un filtre de validation de mot de passe personnalis\u00e9. Cela permet d'\u00e9valuer le mot de passe en fonction d'exigences personnalis\u00e9es. Par d\u00e9faut, MemberMouse associe un filtre de base qui v\u00e9rifie que le mot de passe comporte au moins 8 caract\u00e8res. Les d\u00e9veloppeurs ont la possibilit\u00e9 d'ajouter un filtre suppl\u00e9mentaire qui sera appliqu\u00e9 en conjonction avec le filtre par d\u00e9faut, ou de supprimer le filtre par d\u00e9faut et de le remplacer par un filtre personnalis\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The example below shows the steps to remove the default filter and replace it with a custom filter. This can be added into the theme&#8217;s function.php file, but we recommended that if you take this route, you use a&nbsp;<a href=\"https:\/\/codex.wordpress.org\/Child_Themes\" target=\"_blank\" rel=\"noreferrer noopener\">Th\u00e8me enfant<\/a>&nbsp;pour \u00e9viter que votre code ne soit perdu en cas de mise \u00e0 jour du th\u00e8me.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/remove the default filter \nremove_filter('mm_password_strength_validator',array('MM_UserHooks',\"passwordStrengthValidator\"));\n\n\/\/add a filter that enforces that passwords are at least 8 characters and contain an uppercase letter, a number, and a special character \nadd_filter('mm_password_strength_validator', function($passwordData)\n{\n   if (is_object($passwordData) &amp;&amp; isset($passwordData-&gt;data) &amp;&amp; !preg_match('\/^(?=.*&#91;!@#$%^&amp;*-])(?=.*&#91;0-9])(?=.*&#91;A-Z]).{8,20}$\/', $passwordData-&gt;data))\n   {\n      $passwordData-&gt;type     = \"error\";\n      $passwordData-&gt;errors&#91;] = \"Password must contain an uppercase character, a special character, and a number\";\n   }\n   return $passwordData;\n}, 10, 1);<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>Les filtres sont des fonctions par lesquelles WordPress fait passer les donn\u00e9es, \u00e0 certains moments de l'ex\u00e9cution, juste avant d'effectuer une action avec les donn\u00e9es. MemberMouse d\u00e9finit son propre ensemble de filtres que vous...<\/p>","protected":false},"author":21411,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"ht-kb-category":[188],"ht-kb-tag":[],"class_list":["post-8073","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-mm-wp-hooks-filters"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 5.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here&#039;s a basic example: function customContentProtection($data) { return true;\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Curt Noble\"\/>\n\t<meta name=\"google-site-verification\" content=\"RIQFHn-t5QxsuMU4pLG9xaceb-mmGuRaOWAEU1Q078U\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 5.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"MemberMouse |\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"MemberMouse WordPress Filters | MemberMouse\" \/>\n\t\t<meta property=\"og:description\" content=\"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here&#039;s a basic example: function customContentProtection($data) { return true;\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-08-14T21:22:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-07T14:55:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/membermouse\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@MemberMouse\" \/>\n\t\t<meta name=\"twitter:title\" content=\"MemberMouse WordPress Filters | MemberMouse\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here&#039;s a basic example: function customContentProtection($data) { return true;\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@MemberMouse\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/membermouse.com\\\/fr\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/developer-tools\\\/#listItem\",\"name\":\"Developer Tools\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/developer-tools\\\/#listItem\",\"position\":2,\"name\":\"Developer Tools\",\"item\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/developer-tools\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/mm-wp-hooks-filters\\\/#listItem\",\"name\":\"WordPress Hooks and Filters\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/mm-wp-hooks-filters\\\/#listItem\",\"position\":3,\"name\":\"WordPress Hooks and Filters\",\"item\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/mm-wp-hooks-filters\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#listItem\",\"name\":\"MemberMouse WordPress Filters\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/developer-tools\\\/#listItem\",\"name\":\"Developer Tools\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#listItem\",\"position\":4,\"name\":\"MemberMouse WordPress Filters\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/article-categories\\\/mm-wp-hooks-filters\\\/#listItem\",\"name\":\"WordPress Hooks and Filters\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/#organization\",\"name\":\"MemberMouse\",\"url\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/\",\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/membermouse\",\"https:\\\/\\\/twitter.com\\\/MemberMouse\",\"https:\\\/\\\/www.instagram.com\\\/membermouse\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/membermouse\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/membermouse\\\/\",\"https:\\\/\\\/soundcloud.com\\\/membermouse\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/author\\\/curtcaseproof-com\\\/#author\",\"url\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/author\\\/curtcaseproof-com\\\/\",\"name\":\"Curt Noble\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#authorImage\",\"url\":\"https:\\\/\\\/membermouse.com\\\/wp-content\\\/litespeed\\\/avatar\\\/69cacd8325ef9810065b0b177318f497.jpg?ver=1787809162\",\"width\":96,\"height\":96,\"caption\":\"Curt Noble\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#webpage\",\"url\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/\",\"name\":\"MemberMouse WordPress Filters | MemberMouse\",\"description\":\"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here's a basic example: function customContentProtection($data) { return true;\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/docs\\\/membermouse-wordpress-filters\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/author\\\/curtcaseproof-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/author\\\/curtcaseproof-com\\\/#author\"},\"datePublished\":\"2023-08-14T14:22:17-04:00\",\"dateModified\":\"2025-01-07T09:55:29-05:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/\",\"name\":\"MemberMouse\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/membermouse.com\\\/fr\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>MemberMouse WordPress Filters | MemberMouse<\/title>\n\n","aioseo_head_json":{"title":"MemberMouse WordPress Filters | MemberMouse","description":"Les filtres sont des fonctions par lesquelles WordPress fait passer les donn\u00e9es, \u00e0 certains moments de l'ex\u00e9cution, juste avant d'effectuer une action sur les donn\u00e9es. MemberMouse d\u00e9finit son propre ensemble de filtres que vous pouvez utiliser pour contr\u00f4ler le flux d'ex\u00e9cution dans MemberMouse avant que certaines actions ne soient effectu\u00e9es. Voici un exemple de base : function customContentProtection($data) { return true ;","canonical_url":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"RIQFHn-t5QxsuMU4pLG9xaceb-mmGuRaOWAEU1Q078U","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr#listItem","position":1,"name":"Home","item":"https:\/\/membermouse.com\/fr","nextItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/#listItem","name":"Developer Tools"}},{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/#listItem","position":2,"name":"Developer Tools","item":"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/","nextItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/#listItem","name":"WordPress Hooks and Filters"},"previousItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/#listItem","position":3,"name":"WordPress Hooks and Filters","item":"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/","nextItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#listItem","name":"MemberMouse WordPress Filters"},"previousItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/#listItem","name":"Developer Tools"}},{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#listItem","position":4,"name":"MemberMouse WordPress Filters","previousItem":{"@type":"ListItem","@id":"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/#listItem","name":"WordPress Hooks and Filters"}}]},{"@type":"Organization","@id":"https:\/\/membermouse.com\/fr\/#organization","name":"MemberMouse","url":"https:\/\/membermouse.com\/fr\/","sameAs":["https:\/\/www.facebook.com\/membermouse","https:\/\/twitter.com\/MemberMouse","https:\/\/www.instagram.com\/membermouse\/","https:\/\/www.youtube.com\/user\/membermouse","https:\/\/www.linkedin.com\/company\/membermouse\/","https:\/\/soundcloud.com\/membermouse"]},{"@type":"Person","@id":"https:\/\/membermouse.com\/fr\/author\/curtcaseproof-com\/#author","url":"https:\/\/membermouse.com\/fr\/author\/curtcaseproof-com\/","name":"Curt Noble","image":{"@type":"ImageObject","@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#authorImage","url":"https:\/\/membermouse.com\/wp-content\/litespeed\/avatar\/69cacd8325ef9810065b0b177318f497.jpg?ver=1787809162","width":96,"height":96,"caption":"Curt Noble"}},{"@type":"WebPage","@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#webpage","url":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/","name":"MemberMouse WordPress Filters | MemberMouse","description":"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here's a basic example: function customContentProtection($data) { return true;","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/membermouse.com\/fr\/#website"},"breadcrumb":{"@id":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/#breadcrumblist"},"author":{"@id":"https:\/\/membermouse.com\/fr\/author\/curtcaseproof-com\/#author"},"creator":{"@id":"https:\/\/membermouse.com\/fr\/author\/curtcaseproof-com\/#author"},"datePublished":"2023-08-14T14:22:17-04:00","dateModified":"2025-01-07T09:55:29-05:00"},{"@type":"WebSite","@id":"https:\/\/membermouse.com\/fr\/#website","url":"https:\/\/membermouse.com\/fr\/","name":"MemberMouse","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/membermouse.com\/fr\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"MemberMouse |","og:type":"article","og:title":"MemberMouse WordPress Filters | MemberMouse","og:description":"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here's a basic example: function customContentProtection($data) { return true;","og:url":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/","article:published_time":"2023-08-14T21:22:17+00:00","article:modified_time":"2025-01-07T14:55:29+00:00","article:publisher":"https:\/\/www.facebook.com\/membermouse","twitter:card":"summary_large_image","twitter:site":"@MemberMouse","twitter:title":"MemberMouse WordPress Filters | MemberMouse","twitter:description":"Filters are functions that WordPress passes data through, at certain points in execution, just before taking some action with the data. MemberMouse defines its own set of filters that you can utilize to control the flow of execution in MemberMouse prior to certain actions being taken. Here's a basic example: function customContentProtection($data) { return true;","twitter:creator":"@MemberMouse"},"aioseo_meta_data":{"post_id":"8073","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"limit_modified_date":false,"reviewed_by":null,"open_ai":"{\"title\":{\"suggestions\":[],\"usage\":0},\"description\":{\"suggestions\":[],\"usage\":0}}","created":"2023-10-11 18:39:41","updated":"2026-06-03 04:54:02","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":"2026-06-03 03:28:50","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/membermouse.com\/fr\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/\" title=\"Developer Tools\">Developer Tools<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/\" title=\"WordPress Hooks and Filters\">WordPress Hooks and Filters<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tMemberMouse WordPress Filters\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/membermouse.com\/fr"},{"label":"Developer Tools","link":"https:\/\/membermouse.com\/fr\/article-categories\/developer-tools\/"},{"label":"WordPress Hooks and Filters","link":"https:\/\/membermouse.com\/fr\/article-categories\/mm-wp-hooks-filters\/"},{"label":"MemberMouse WordPress Filters","link":"https:\/\/membermouse.com\/fr\/docs\/membermouse-wordpress-filters\/"}],"_links":{"self":[{"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb\/8073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/users\/21411"}],"replies":[{"embeddable":true,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/comments?post=8073"}],"version-history":[{"count":1,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb\/8073\/revisions"}],"predecessor-version":[{"id":20432,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb\/8073\/revisions\/20432"}],"wp:attachment":[{"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/media?parent=8073"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb-category?post=8073"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/membermouse.com\/fr\/wp-json\/wp\/v2\/ht-kb-tag?post=8073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}