Hej
W jaki sposób mogę nadpisać funkcję pluginu nie robiąc tego bezpośrednio w plikach pluginu.
class PPM_Failed_Logins {
private $time_difference;
public function pre_login_check( $user, $username, $password ) {
if ( OptionsHelper::string_to_bool( $role_options->failed_login_policies_enabled ) ) {
if ( 'timed' === $role_options->failed_login_unlock_setting ) {
$login_attempts_transient = $this->get_users_stored_transient_data( $user_id, true );
$current_time = current_time( 'timestamp' );
// See if enough time has passed since last failed attempt.
$time_difference = ( ! empty( $login_attempts_transient ) ) ? $current_time - $login_attempts_transient < $role_options->failed_login_reset_hours * 60 * 60 : false;
// Enough time has passed and the user is allowed to reset.
if ( ! $time_difference ) {
$this->clear_failed_login_data( $userdata->user_login, $userdata );
}
}
Chodzi mi o nadpisanie zmiennej $time_difference żeby zmienić licznik zamiast „60 * 60” to zrobić to inaczej, próbuje obiektowo, tworze w innym pliku oddzieloną klasę rozszerzoną o PPM_Failed_Logins i próbuje odwołać się do obiektu, żeby chociaż wyświetlić ale niestety nie udaje mi się.
Próbuje w ten sposób
<?php
class PPM_Failed_Logins_Child extends PPM_Failed_Logins {
public function override() {
$class_main = new PPM_Failed_Logins();
$time = $class_main->time_difference;
print_r($time);
}
}
$login_child = new PPM_Failed_Logins_Child();
$login_child->override();
?>