有人能帮我理解这段代码的每一部分吗?你能评论每一行吗?这样我就能理解并根据我的目的定制代码。以下是pastebin中的链接:
class Towfiq_Person {
static function on_load() {
add_action(\'init\',array(__CLASS__,\'init\'));
add_action(\'wp_insert_post\',array(__CLASS__,\'wp_insert_post\'),10,2);
add_action(\'profile_update\',array(__CLASS__,\'profile_update\'),10,2);
add_action(\'user_register\',array(__CLASS__,\'profile_update\'));
add_filter(\'author_link\',array(__CLASS__,\'author_link\'),10,2);
add_filter(\'get_the_author_url\',array(__CLASS__,\'author_link\'),10,2);
}
此链接中的其余代码:pastebin.com/30GCNhLv非常感谢
UPDATE 1 :
第一部分明白了,这部分怎么样。我在人类语言中的每一行是什么意思; static function get_email_key() {
return apply_filters( \'person_email_key\', \'_email\' );
}
static function profile_update($user_id,$old_user_data=false) {
global $wpdb;
$is_new_person = false;
$user = get_userdata($user_id);
$user_email = ($old_user_data ? $old_user_data->user_email : $user->user_email);
$email_key = self::get_email_key();
$person_id = $wpdb->get_var($wpdb->prepare("SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key=\'%s\' AND meta_value=\'%s\'",$email_key,$user_email));
if (!is_numeric($person_id)) {
$person_id = $is_new_person = wp_insert_post(array(
\'post_type\' => \'towfiq-person\',
\'post_status\' => \'publish\', // Maybe this should be pending or draft?
\'post_title\' => $user->display_name,
));
}
update_user_meta($user_id,\'_person_id\',$person_id);
update_post_meta($person_id,\'_user_id\',$user_id);
if ($is_new_person || ($old_user_data && $user->user_email!=$old_user_data- >user_email)) {
update_post_meta($person_id,$email_key,$user->user_email);
}
}