17 piratages de fichiers WordPress Functions.php
Publié: 2017-05-28Parmi tous vos fichiers principaux WordPress, peu sont aussi polyvalents que functions.php . Si vous savez interagir avec, ce fichier vous permettra d'ajouter toutes sortes de fonctionnalités à votre site en quelques lignes de code.
Dans cet article, nous vous dirons tout ce que vous devez savoir sur le fichier de fonctions WordPress et comment l'utiliser à votre avantage. Nous discuterons de ce qu'il fait, pourquoi vous devriez l'utiliser et quand ne pas le faire. De plus, nous vous présenterons 17 hacks de fichiers utiles pour étendre les fonctionnalités de votre site sans avoir à installer de plugin.
Mettons ce spectacle sur la route!
Une introduction au fichier de fonctions WordPress
Le fichier functions.php est l'un des fichiers principaux de WordPress. En d'autres termes, c'est celui qui aide à alimenter l'ensemble de la plate-forme et qui est à l'origine de nombreuses fonctionnalités de votre site.

Vous pouvez également utiliser le fichier functions.php comme moyen de fortune pour implémenter de nouvelles fonctionnalités sur votre site Web, telles que l'ajout de nouveaux widgets à votre tableau de bord ou des tailles d'image personnalisées pour votre installation. C'est l'alternative parfaite aux plugins WordPress pour des fonctionnalités simples ou temporaires.
Il convient également de noter qu'il existe un fichier "parent" functions.php qui influence l'ensemble de votre site, mais chaque thème est livré avec sa propre version enfant (un peu comme votre fichier style.css ). Cela vous permet effectivement de mettre en œuvre des fonctions uniquement pour des thèmes spécifiques sans affecter votre site globalement.
17 hacks de fichiers pour votre fichier WordPress Functions.php
Comme nous l'avons mentionné précédemment, chaque thème est livré avec son propre fichier functions.php . Si vous envisagez d'apporter des modifications importantes au vôtre, la meilleure solution consiste à configurer un thème enfant afin que vos modifications ne disparaissent pas lors des mises à jour. Vous voudrez également sauvegarder votre site avant d'apporter des modifications, juste au cas où les choses tourneraient mal et que vous deviez annuler vos modifications.
Pour continuer, vous devrez accéder à votre fichier functions.php à l'aide d'un client FTP (File Transfer Protocol) - tel que FileZilla - pour accéder au répertoire wp-content/themes/ . À l'intérieur, vous trouverez un dossier pour chacun de vos thèmes, qui devraient tous avoir leurs propres fichiers functions.php dans :

Faites un clic droit dessus et choisissez l'option qui dit Modifier, ce qui ouvrira votre éditeur de texte par défaut. Avec cela à l'écart, passons aux affaires !
1. Ajouter un nouvel utilisateur administrateur à WordPress
Il y a des occasions où vous pourriez être bloqué hors de votre compte administrateur et être incapable de changer votre mot de passe ou d'accéder à votre site. Avec ce réglage, vous aurez un moyen supplémentaire de récupérer l'accès via FTP.
Comme pour tous ces hacks et extraits, copiez simplement le code suivant, collez-le à la fin du fichier functions.php de votre thème et enregistrez les modifications.
function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = '[email protected]';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');Vous devrez remplacer les valeurs où il est indiqué nom d'utilisateur, mot de passe et e - mail par les vôtres, et vous êtes prêt !
2. Afficher le nombre total d'utilisateurs enregistrés
Si vous avez toujours voulu vous vanter devant le monde du nombre d'utilisateurs de votre site, ce réglage vous permet d'ajouter un simple compte à votre front-end. Ce hack a également des utilisations au-delà du simple droit de se vanter. Par exemple, les gens pourraient être plus disposés à faire confiance à votre site s'ils savent qu'il a une forte base d'utilisateurs. Voici l'extrait :
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
add_shortcode('user_count', 'wpb_user_count');C'est un peu avancé, car nous avons en fait enregistré le shortcode personnalisé [user_count] pour afficher le nombre total d'utilisateurs enregistrés sur votre site. Bien que cela puisse être un sujet complexe, notre implémentation est simple !
3. Supprimez le « Panneau de bienvenue » de votre tableau de bord
Votre panneau de bienvenue est la section de votre tableau de bord qui apparaît dès que vous vous connectez à WordPress, et il contient généralement quelques conseils et listes de contrôle pour vous aider à démarrer. Avec cet extrait de code, vous pourrez le supprimer définitivement :
remove_action('welcome_panel', 'wp_welcome_panel');Bien sûr, le panneau de bienvenue n'est pas du tout invasif, mais il peut vieillir un peu si vous utilisez la plate-forme depuis un certain temps et que vous n'avez plus besoin des conseils. De plus, comme il suffit d'une ligne de code, il n'y a littéralement aucun inconvénient à ce hack.
4. Cachez votre numéro de version WordPress
Comme vous le savez probablement, selon le thème que vous utilisez, WordPress a tendance à afficher son numéro de version dans le pied de page de votre site. C'est un petit détail que vous pouvez supprimer facilement avec ce code :
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');Si vous utilisez une ancienne version de WordPress (ce qui bien sûr, vous ne devriez pas l'être), ce réglage peut être utile pour faire de vous une cible moins tentante.
5. Modifier le pied de page de votre tableau de bord
Votre tableau de bord WordPress comprend probablement un peu de texte en pied de page, indiquant souvent un crédit quelconque (généralement WordPress lui-même). Il est quelque chose que peut - être devenu aveugle, mais ce hack ne vous offre une bonne occasion de personnaliser ou de la marque de votre site avec un hack simple. Regardons le code correspondant :
function remove_footer_admin () {
echo 'Hello world!';
}
add_filter('admin_footer_text', 'remove_footer_admin');Pour ce hack, vous devez remplacer le Hello world! texte avec le vôtre, y compris les liens que vous souhaitez inclure.
6. Ajoutez un widget de texte simple à votre tableau de bord
Si vous avez décidé de libérer de l'espace sur votre tableau de bord en supprimant le widget de bienvenue, vous souhaiterez peut-être le remplacer par l'un des vôtres. En utilisant ce code, vous pourrez configurer un simple widget texte :
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_widget', 'More Information', 'custom_dashboard_information');
}
function custom_dashboard_information() {
echo 'If you need help making changes to your site, you can always contact me via email at...';
}Cet extrait ajoutera un widget appelé Plus d'informations à votre tableau de bord, y compris le texte de la fonction custom_dashboard_information . Pour cet exemple, nous avons choisi de créer une sorte de widget de contact, que vous pouvez utiliser pour créer des sites Web clients en marque blanche et leur rappeler de rester en contact si nécessaire.
7. Ajoutez des tailles d'image personnalisées à vos installations
WordPress vous permet de redimensionner vos images à des dimensions spécifiques après les avoir téléchargées et fournit des préréglages par défaut. Avec ce code, vous pourrez ajouter de nouveaux préréglages pour éviter d'avoir à définir des dimensions personnalisées :
add_image_size( 'sidebar-thumbnail', 120, 120 );
N'oubliez pas que vous pouvez ajouter autant de nouvelles tailles que vous le souhaitez et qu'elles peuvent s'avérer particulièrement utiles s'il existe une résolution spécifique que vous utilisez sur votre site.
8. Ajoutez des images en vedette à votre flux RSS
Beaucoup de gens ne le savent pas, mais WordPress génère automatiquement des flux RSS pour vos sites. Si vous avez l'intention d'utiliser le vôtre, vous devrez configurer une image vedette pour vos messages, ce que vous pouvez faire avec ce code :

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '
' . get_the_post_thumbnail($post->ID) .
'
' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');Les images en vedette peuvent grandement contribuer à rendre votre flux RSS plus attrayant, ce qui est crucial pour tout type de contenu qui repose sur des clics.
9. Exclure des catégories de votre flux RSS
L'une des meilleures choses à propos de la fonctionnalité du flux RSS de WordPress est sa personnalisation. Avec ce code, vous pourrez masquer des catégories spécifiques de votre flux, afin que vous puissiez choisir le contenu à ajouter :
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');Gardez à l'esprit que WordPress identifie les catégories en fonction des numéros d'identification (c'est-à-dire -2 et -3 ) dans le code ci-dessus. Vous devrez donc identifier les identifiants des catégories que vous souhaitez supprimer avant de mettre en œuvre ce hack.
10. Désactivez votre flux RSS
Bien qu'il s'agisse d'une excellente fonctionnalité WordPress, si vous n'êtes pas du tout intéressé par l'utilisation de RSS, vous pouvez le désactiver complètement en utilisant cet extrait de code :
function fb_disable_feed() {
wp_die( __('Sorry, we don't use RSS!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);Vous remarquerez que le code comprend un petit message pour les utilisateurs qui tentent d'accéder à votre flux après l'avoir désactivé. Il n'y a aucun inconvénient à le garder actif, mais si vous êtes sûr de ne pas l'utiliser, cela vous permet de le désactiver complètement et d'économiser potentiellement un cycle ou deux.
11. Cachez les détails de votre erreur de connexion WordPress
Des erreurs de connexion trop détaillées peuvent donner aux indésirables les informations dont ils ont besoin pour accéder à votre site. Avec ce code, WordPress ne précisera pas où vous avez fait une erreur lors de la tentative de connexion :
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );En utilisant ce hack, il est plus difficile pour les attaquants d'essayer d'accéder à votre site, tandis que les vrais utilisateurs ne devraient avoir aucun problème à déterminer où ils ont fait une erreur. Un gagnant-gagnant tout autour!
12. Forcer les utilisateurs à se connecter avec leurs noms d'utilisateur
De nombreuses personnes ont tendance à s'inscrire à chaque service en utilisant le même e-mail, ce qui signifie que les attaquants peuvent tenter d'y accéder simplement en connaissant leurs adresses e-mail. Avec ce code, vous forcerez les utilisateurs à se connecter en utilisant exclusivement des noms d'utilisateur :
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
Pour être juste, les noms d'utilisateur ont également tendance à être beaucoup réutilisés, mais ce petit ajustement peut toujours aider à améliorer votre sécurité et à minimiser les attaques.
13. Modifiez la longueur de vos extraits de publication
Les index de blogs WordPress affichent généralement de brefs extraits de vos articles pour donner aux lecteurs une idée de ce qu'ils recherchent. Si vous avez déjà voulu modifier la longueur par défaut de ces extraits, voici l'occasion de le faire.
functionnew_excerpt_length($length) {
return 75;
}
add_filter('excerpt_length', 'new_excerpt_length');La longueur par défaut est de 55 mais dans le code ci-dessus, nous l'avons augmentée à 75 pour nous donner un peu plus de marge de manœuvre.
14. Activez WordPress pour télécharger n'importe quel type de fichier que vous voulez
Par défaut, WordPress ne vous permet de télécharger qu'une gamme très limitée de types de fichiers, y compris les formats multimédias courants tels que .png et .jpg. Avec ce code, vous pourrez forcer votre installation à autoriser plus de types :
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);Prenez .svg, par exemple, qui est un type de fichier dont nous avons discuté dans le passé. Avec cet extrait, vous pourrez ajouter une prise en charge sans avoir besoin d'un plugin.
15. Désactiver la liaison automatique d'images
Dès la sortie de la boîte, WordPress ajoutera des liens vers chaque image que vous incluez dans votre contenu qui pointe vers sa version complète. En utilisant ce code, vous désactiverez cette fonctionnalité :
function wpb_imagelink_setup() {
$image_set = get_option( 'image_default_link_type' );
if ($image_set !== 'none') {
update_option('image_default_link_type', 'none');
}
}
add_action('admin_init', 'wpb_imagelink_setup', 10);Gardez à l'esprit, cependant, que vous pouvez toujours accéder à cette fonctionnalité en éditant chaque image individuelle - cela ne fait que l'empêcher de fonctionner automatiquement.
16. Ajouter une zone prête pour les widgets
WordPress comprend déjà plusieurs zones prêtes pour les widgets que vous pouvez utiliser, mais vous pouvez toujours en ajouter de nouvelles en utilisant un peu de magie functions.php . Comme pour notre précédent hack de shortcodes, vous commencez à entrer dans le domaine du développeur ici. Cependant, il s'agit d'une implémentation simple qui pourrait vous aider énormément :
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget', 'text_domain' ),
'description' => __( 'A custom widget, 'text_domain' ),
'before_title' => '
<h3 class="widget-title">',
'after_title' => '</h3>
',
'before_widget' => '
<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>
',
);
register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );Gardez à l'esprit que ce code « enregistre » simplement votre nouvelle zone de widgets. Vous devrez toujours l'appeler pour des sections thématiques spécifiques, telles que votre pied de page, en modifiant leurs fichiers respectifs.
17. Désactivez la fonction de recherche WordPress
Presque tous les sites ont besoin d'une fonction de recherche pour aider les utilisateurs à s'orienter. Cependant, si vous envisagez de créer un site d'une seule page, vous n'en aurez peut-être pas besoin. Voici le code qui vous permettra de désactiver si désactivé :
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );Avant de désactiver cette fonctionnalité, vous devez être sûr à 100% que vous n'en aurez pas besoin car cela peut avoir un impact considérable sur la convivialité de votre site. Bien sûr, vous pouvez toujours supprimer le code pour rétablir la recherche sur votre site, mais si vous n'êtes pas sûr, faites preuve de prudence et ne le désactivez pas !
Conclusion
Votre fichier functions.php est l'un des atouts les plus puissants de votre boîte à outils WordPress. Non seulement cela vous permet d'ajouter toutes sortes de fonctionnalités avec quelques lignes de code, mais c'est aussi essentiel pour que votre site fonctionne (voyez ce que nous avons fait là-bas ?).
Si vous êtes un utilisateur de Divi, le fichier functions.php peut vous aider à ajouter plusieurs fonctionnalités complémentaires à votre site sans avoir à mettre en place des plugins supplémentaires, ce qui est toujours un gain.
Avez-vous des questions sur ces hacks de fichiers de fonctions WordPress ? Si c'est le cas, demandez dans la section commentaires ci-dessous!
Image miniature de l'article par MchlSkhrv / shutterstock.com
