28.01.2025., 09:43
|
#28
|
Premium
Datum registracije: Jul 2021
Lokacija: Sesvete
Postovi: 1,038
|
Niže je kod za obavijesti na mail. Na mail dobijete obavijesti za uspješno/neuspješno kao i svaki post/page koji se postavi na stranicu.
Napisao ChatGPT (nije mi se dalo istraživati što i kako).
Code:
function obavijesti_o_prijavi($username, $user = null) {
// Osnovne informacije
$site_url = home_url(); // URL stranice
$admin_email = get_option('admin_email'); // Email admina
$ip_address = $_SERVER['REMOTE_ADDR']; // IP adresa korisnika
$trenutno_vrijeme = date("Y-m-d H:i:s");
// Provjera vrste prijave (uspješna ili neuspješna)
if ($user) {
// Uspješna prijava
$subject = "Uspješna prijava na $site_url";
$message = "Korisnik $username uspješno se prijavio na stranicu $site_url.\n\n";
$message .= "IP adresa: $ip_address\n";
$message .= "Vrijeme: $trenutno_vrijeme\n";
} else {
// Neuspješna prijava
$subject = "Upozorenje: Neuspješna prijava na $site_url";
$message = "Netko je pokušao prijaviti se na tvoju stranicu s korisničkim imenom: $username.\n\n";
$message .= "IP adresa: $ip_address\n";
$message .= "Vrijeme: $trenutno_vrijeme\n";
$message .= "URL stranice: $site_url\n";
}
// Slanje e-maila
wp_mail($admin_email, $subject, $message);
}
// Hook za uspješnu prijavu
add_action('wp_login', function($user_login, $user) {
obavijesti_o_prijavi($user_login, $user);
}, 10, 2);
// Hook za neuspješnu prijavu
add_action('wp_login_failed', function($username) {
obavijesti_o_prijavi($username);
});
function disable_registration_page() {
if (isset($_GET['action']) && $_GET['action'] === 'register') {
wp_redirect(home_url());
exit;
}
}
add_action('login_init', 'disable_registration_page');
function obavijesti_o_aktivnostima($aktivnost, $post_id = null, $comment = null) {
$admin_email = get_option('admin_email'); // Email admina
$site_url = home_url(); // URL stranice
$ip_address = $_SERVER['REMOTE_ADDR']; // IP adresa korisnika
$trenutno_vrijeme = date("Y-m-d H:i:s");
// Prilagodba poruke ovisno o vrsti aktivnosti
if ($aktivnost === 'post') {
$post = get_post($post_id);
$author = get_the_author_meta('display_name', $post->post_author);
$subject = "Novi post na $site_url";
$message = "Napisan je novi post pod nazivom: {$post->post_title}\n\n";
$message .= "Autor: $author\n";
$message .= "URL posta: " . get_permalink($post_id) . "\n";
$message .= "IP adresa autora: $ip_address\n";
$message .= "Vrijeme: $trenutno_vrijeme\n";
} elseif ($aktivnost === 'page') {
$page = get_post($post_id);
$author = get_the_author_meta('display_name', $page->post_author);
$subject = "Nova stranica na $site_url";
$message = "Napravljen je novi page pod nazivom: {$page->post_title}\n\n";
$message .= "Autor: $author\n";
$message .= "URL stranice: " . get_permalink($post_id) . "\n";
$message .= "IP adresa autora: $ip_address\n";
$message .= "Vrijeme: $trenutno_vrijeme\n";
} elseif ($aktivnost === 'comment') {
$subject = "Novi komentar na $site_url";
$message = "Novi komentar je napisan.\n\n";
$message .= "Autor komentara: {$comment->comment_author}\n";
$message .= "Komentar: {$comment->comment_content}\n";
$message .= "URL posta: " . get_permalink($comment->comment_post_ID) . "\n";
$message .= "IP adresa autora: {$comment->comment_author_IP}\n";
$message .= "Vrijeme: $trenutno_vrijeme\n";
} else {
return;
}
// Slanje e-maila
wp_mail($admin_email, $subject, $message);
}
// Hook za obavijest o novim postovima
add_action('publish_post', function($post_id) {
obavijesti_o_aktivnostima('post', $post_id);
});
// Hook za obavijest o novim stranicama
add_action('publish_page', function($post_id) {
obavijesti_o_aktivnostima('page', $post_id);
});
// Hook za obavijest o novim komentarima
add_action('wp_insert_comment', function($comment_id, $comment) {
obavijesti_o_aktivnostima('comment', null, $comment);
}, 10, 2);
__________________
tomek@vz: ajd nemoj | Mali Čile SAD Češka Peru | Windows Free
|
|
|