我的PHP知識是非常基本的。我已經構建了一個兒童主題,而functions.php完全來自網絡上的零碎。目前所有的作品都很棒,我已經在另一個網站上重複使用它。但在幾個地方,我不得不手動輸入博客名稱,電子郵件地址等。我想要的是使其可重複使用,而無需對此進行任何干預。我已經涵蓋了所有問題,但其中一個:更改默認的[email protected]電子郵件。WordPress的site_url字符串替換
// Changing default wordpress email settings
add_filter('wp_mail_from', 'new_mail_from');
function new_mail_from($old) {
return '[email protected]';
}
這個工作,雖然使其可重複使用而無需干預,我需要以某種方式獲取該網站的網址沒有http://
和www
。我做了一個測試頁面,並使用:
$my_site = str_replace('www.','', $_SERVER['SERVER_NAME']);
echo '[email protected]'.$my_site;
它製作的test.php
文件,但不是在WordPress的functions.php
。郵件發送和接收,但發件人是「通知@」,沒有任何@後。我用它作爲
return '[email protected]'[email protected]_site;
我嘗試另一種方法:
$custom_email = '[email protected]'.str_replace('www.','', $_SERVER['SERVER_NAME']);
function new_mail_from($old) {
return $custom_email;
}
這一個不顯示任何發件人的話,那就是從「未知發件人」。 我試圖與site_url()
而不是$ _SERVER
,但我還沒有設法使其工作。我沒有嘗試使用home_url()
,因爲在某些情況下,home_url()
可能會使用自定義頁面(如登錄頁面)。
有沒有辦法解決我有這個問題?
謝謝。
所以'$ my_site'是空的,那告訴你什麼?另外,看看PHP的'parse_url'函數,避免'str_replace'。 – Madbreaks 2014-12-04 00:11:30
試試'$ _SERVER ['HTTP_HOST']'。 – Victory 2014-12-04 00:14:38
** @ Madbreaks ** - 空的$ my_site不告訴我什麼,不幸的是。我真的不知道PHP是如何工作的,所以我不知道應該告訴我什麼。正如我所說,我的PHP知識是非常基礎的。我已經開始搞亂parse_url,什麼也沒有發生,但是我希望我能想出一些有用的東西。謝謝。 – 2014-12-04 11:41:37