web-dev-qa-db-fra.com

Wp_new_user_notification personnalisé

Wp_new_user_notification personnalisé

Je suis un peu inexpérimenté en ce qui concerne l'édition de fonctions Wordpress, mais j'essaie actuellement de personnaliser wp_new_user_notification afin de personnaliser le courrier électronique que les administrateurs et les utilisateurs reçoivent une fois qu'ils se sont inscrits. Je suis conscient que certains plugins permettent ce type de personnalisation, mais je préférerais consacrer plus de temps à un problème et essayer de le comprendre/comprendre plutôt que d'installer un plugin. Par conséquent, j'ai placé cette fonction dans mon functions.php et je crois que je suis supposé ajouter un ou plusieurs filtres, tels que:

add_filter('myfunction', 'wp_new_user_notification', ?, ?)

ou peut être pas. J'ai lu et essayé de suivre plusieurs astuces/tutoriels/questions ( tels que par exemple), mais quoi que je fasse, je continue à recevoir des emails avec du texte/du contenu standard (comme si mes fonctions n'étaient pas prises en compte par Wordpress).

Quelqu'un peut-il m'aider à résoudre ce problème? Merci d'avance!

2
Cerere

Vous ne pouvez remplacer les fonctions plug-in dans un plug-in, pas via functions.php. La fonction est déjà définie lorsque functions.php est chargé. C'est pourquoi votre fonction prioritaire est ignorée. Déplacez le code dans votre propre plugin pour l'activer.

2
Milo

Quand les plugins sont-ils chargés?

Les plugins sont chargés juste avant le hook plugins_loaded. Les plug-ins MU (c'est ce que chaque imho plug-in devrait être) sont chargés même avant, avant le hook muplugins_loaded-. (Les deux sont les premiers hooks pour les plugins et exécutent beaucoup plus tôt que chaque hook accessible aux thèmes).

Que sont exactement les Pluggables?

Les "pluggables" sont appelés ainsi, car ils peuvent être "branchés" et remplacés. Cela se produit car ils sont encapsulés dans un appel if ( ! function_exists( 'some_pluggable_fn' ) ) {.

Vous pouvez trouver im pluggable.php dans le fichier core ou parfois dans un fichier Themes functions.php - prenez TwentyTen/* Eleven comme exemple.

<?php
! defined( 'ABSPATH' ) AND exit;
/** Plugin Name: (pluggable) Replace New User Notification function */

function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
    // define the functionality of your new function.
}
2
kaiser