Некоторые операторы add_action (), которые я вижу время от времени, снабжены массивом, в котором первый аргумент - это $ this, а второй - функция.
Насколько я знаю, $ это текущий экземпляр в POO, но как насчет этого конкретного случая?Скажем для примера, что у нас есть система рассылки, которая регистрирует ваш адрес электронной почты, за исключением случаев, когда он все еще существует в базе данных.
<?php
public function save_email()
{
if (isset($_POST['zero_newsletter_email']) && !empty($_POST['zero_newsletter_email'])) {
global $wpdb;
$email = $_POST['zero_newsletter_email'];
$row = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}zero_newsletter_email WHERE email = '$email'");
if (is_null($row)) {
$wpdb->insert("{$wpdb->prefix}zero_newsletter_email", array('email' => $email));
}
}
}
Теперь нам нужно объявить его как доступное действие.зачем нам нужен такой массив?
add_action('wp_loaded', array($this, 'save_email'));
И почему мы не можем просто сделать так, как следует?
add_action('wp_loaded','save_email');