我用自己的加密密码修改wp_hash_password和wp_check_password,我想现在使用hook。这是为了确保当我的wordpress更新最新版本时,我的wp_hash_password和pluggable.php中的wp_check_password仍然是我自己的密码加密,钩子应该添加在哪里?在互联网上看,有人说放在user.php中,有人说放在主题中的function.php中。如果谁知道,请告诉我答案。
答案 0 :(得分:2)
首先加载插件,然后加载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;
?>
答案 1 :(得分:0)
因此,我知道进入WordPress开发时的第一件事就是不要编辑两个文件夹中的任何文件:wp-include和wp-admin。或者,当您将WordPress更新为较新版本时,您将失去所有编辑功能。
回到你的问题,如果您认为将来不会改变主题,请将您的代码放在子主题的functions.php中。是的,当您更新父主题时,子主题不会受到影响。
我认为,最适合您的解决方案是创建一个简单的WordPress插件,将您的代码放入其中并激活该插件。因此,即使更新WordPress核心/主题/其他插件,您的加密也不会丢失。
<?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 */