在 Wordpress 中挂钩

Hook In Wordpress

我把wp_hash_password和wp_check_password修改成自己的加密密码,现在想用hook。这是为了确保当我的wordpress更新到最新版本时,我的wp_hash_password和wp_check_password中的pluggable.php仍然是我自己的密码加密,hook应该加在哪里?网上找找,有的说在theme里放user.php,有的说放function.php。谁知道请告诉我答案

所以我在进入 WordPress 开发时知道的第一件事就是不要编辑两个文件夹中的任何文件:wp-include 和 wp-admin。否则,将 WordPress 更新到较新版本时,您将丢失所有编辑内容。

回到你的问题,如果你认为你以后不会改变主题,把你的代码放在子主题的functions.php中。是的,当您更新父主题时,子主题不会影响。

而且我认为,最适合您的解决方案 是创建一个简单的 WordPress 插件,将您的代码放入,然后激活该插件。因此,即使您更新 WordPress core/theme/other 插件,您的加密也不会丢失。

<?php
/*
Plugin Name: WP Custom Plugins
Plugin URI:  http://link to your plugin homepage
Description: This plugin changes WordPress hashing password encryption.
Version:     1.0
Author:      Someone
Author URI:  http://link to your website
License:     GPL2 etc
License URI: https://link to your plugin license


/* Your code goes below here */

首先加载插件,然后 pluggable.php,最后是主题。随后,您需要创建一个插件并将可插入功能代码放入其中,否则您的自定义代码将不会被加载。创建一个名为 custom_wp_password_override.php 的文件或任何您想为其添加标签的文件,并将其放入您的插件文件夹中,添加您自己的自定义函数代码。您永远不应该更新 user.php 等核心文件,因为这将在您升级 WordPress 时被覆盖。

<?php
/*
Plugin Name: Custom WordPress Passwords
Plugin URI: http://localhost
Description: Override wordpress pluggable password functions.
Version: 1.0.0
Author: Your Name
Author URI: http://locahost
Text Domain: custom-wp-passwords
*/

if ( !function_exists('wp_check_password') ) :
    function wp_check_password($password, $hash, $user_id = '') {
        // Your custom code in here
    }
endif;

if ( !function_exists('wp_hash_password') ) :
    function wp_hash_password($password) {
        // Your custom code here
    }
endif;

?>