ارسال ایمیل برای صفحات ۴۰۴ وردپرس
مطمئنا شما نیز با صفحه ۴۰۴ در وردپرس آشنایی دارید، همان صفحهای که بسیاری از شما میانه خوبی با آن ندارید و دوست دارید تا سایت شما به هیچ وجه چنین صفحهای را نداشته باشد! حال چه خوب باشد و یا چه بد، در هر حال این صفحه لازم و ضروری است.
در این مقاله از دکتر وردپرس قصد دارم تا به معرفی قطعه کدی بپردازم که با استفاده از آن قادر خواهید بود تا وقتی کاربری که به سایت شما مراجعه کرده و با صفحه ۴۰۴ مواجه میشوند، یک ایمیل حاوی آدرس ان صفحه برای شما ارسال شود تا در کوتاهترین زمان ممکن ان را بررسی کنید.
ارسال ایمیل برای صفحات ۴۰۴ وردپرس
برای شروع کار ابتدا کدهای زیر را در فایل مربوط به صفحه ۴۰۴ قالب خود قرار دهید، این فایل با نام ۴۰۴٫php در قالب وردپرس وجود دارد.
<?php // https://doctorwp.com/email-404-error-pages // set status header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found"); // site info $blog = get_bloginfo('name'); $site = get_bloginfo('url') . '/'; $email = get_bloginfo('admin_email'); // theme info if (!empty($_COOKIE["nkthemeswitch" . COOKIEHASH])) { $theme = clean($_COOKIE["nkthemeswitch" . COOKIEHASH]); } else { $theme_data = wp_get_theme(); $theme = clean($theme_data->Name); } // referrer if (isset($_SERVER['HTTP_REFERER'])) { $referer = clean($_SERVER['HTTP_REFERER']); } else { $referer = "undefined"; } // request URI if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER["HTTP_HOST"])) { $request = clean('http://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); } else { $request = "undefined"; } // query string if (isset($_SERVER['QUERY_STRING'])) { $string = clean($_SERVER['QUERY_STRING']); } else { $string = "undefined"; } // IP address if (isset($_SERVER['REMOTE_ADDR'])) { $address = clean($_SERVER['REMOTE_ADDR']); } else { $address = "undefined"; } // user agent if (isset($_SERVER['HTTP_USER_AGENT'])) { $agent = clean($_SERVER['HTTP_USER_AGENT']); } else { $agent = "undefined"; } // identity if (isset($_SERVER['REMOTE_IDENT'])) { $remote = clean($_SERVER['REMOTE_IDENT']); } else { $remote = "undefined"; } // log time $time = clean(date("F jS Y, h:ia", time())); // sanitize function clean($string) { $string = rtrim($string); $string = ltrim($string); $string = htmlentities($string, ENT_QUOTES); $string = str_replace("\n", "<br>", $string); if (get_magic_quotes_gpc()) { $string = stripslashes($string); } return $string; } $message = "TIME: " . $time . "\n" . "*404: " . $request . "\n" . "SITE: " . $site . "\n" . "THEME: " . $theme . "\n" . "REFERRER: " . $referer . "\n" . "QUERY STRING: " . $string . "\n" . "REMOTE ADDRESS: " . $address . "\n" . "REMOTE IDENTITY: " . $remote . "\n" . "USER AGENT: " . $agent . "\n\n\n"; mail($email, "404 Alert: " . $blog . " [" . $theme . "]", $message, "From: $email"); ?>
همانطور که در خط ۱۹ این کد میبینید به صورت پیشفرض ایمیل مورد نظر برای ایمیل ثبت شده در سایت ارسال خواهد شد، اما اگر قصد دارید تا این گزارشات به ایمیل خاصی ارسال شوید کافی است تا به جای آن از قطعه کد زیر استفاده کنید.
$email =’your-email@mail.com’;
و به جای your-email@mail.com ایمیل خود را قرار داده و تغییرات را ذخیره کنید.
حال از این پس هرگاه کاربری وارد صفحه ای که در سایت شما وجود ندارد شود، گزارش آن برای شما ارسال خواهد شد.