Trong quá trình phát triển chủ đề WordPress, thường cần phải lấy tên miền cấp một hoặc tên miền cấp cao nhất trong địa chỉ URL. Chức năng này rất quan trọng, đặc biệt khi xác minh quyền. Mặc dù PHP có nhiều biến siêu toàn cục được tích hợp sẵn nhưng nó không cho phép chúng ta dễ dàng có được tên miền cấp cao nhất. Dưới đây chúng ta có thể chặn những gì chúng ta cần thông qua một chức năng tùy chỉnh.
/**
* Có được tên miền cấp cao nhất
*
* @param chuỗi $url tên miền HOST, chẳng hạn như: www.iowen.cn, www.baidu.com
* @return chuỗi tên miền cấp cao nhất như: iowen.cn, baidu.com
*/
hàm url_root($url=""){
$url = $url ? $url : $_SERVER["HTTP_HOST"];
$dual_host = array('aaa.pro','ac.cn','ac.kr','ac.mu','aca.pro','acct.pro','ae.org','ah.cn','ar.com','avocat.pro','bar.pro','biz.ki','biz.pl','bj.cn','br.com','busan.kr ','chungbuk.kr','chungnam.kr','club.tw','cn.com','co.ag','co.am','co.at','co.bz','co.cm','co.com','co.gg','co.gl','co.gy','co.il','co.im','co.in','co.je', 'co.kr','co.lc','co.mg','co.ms','co.mu','co.nl','co.nz','co.uk','co.ve','co.za','com.af','com.ag','com.am','com.ar','com.au','com.br','com.bz','com.cm','c om.cn','com.co','com.de','com.ec','com.es','com.gl','com.gr','com.gy','com.hn','com.ht','com.im','com.ki','com.lc','com.lv','com.mg','com.ms','com.mu','co m.mx','com.nf','com.pe','com.ph','com.pk','com.pl','com.ps','com.pt','com.ro','com.ru','com.sb','com.sc','com.se','com.sg','com.so','com.tw','com.vc','com .ve','cpa.pro','cq.cn','daegu.kr','daejeon.kr','de.com','ebiz.tw','edu.cn','edu.gl','eng.pro','es.kr','eu.com','fin.ec','firm.in','fj.cn','game.tw','gangw on.kr','gb.com','gb.net','gd.cn','gen.in','go.kr','gov.cn','gr.com','gs.cn',' gwangju.kr','gx.cn','gyeongbuk.kr','gyeonggi.kr','gyeongnam.kr','gz.cn','ha.c n','hb.cn','he.cn','hi.cn','hk.cn','hl.cn','hn.cn','hs.kr','hu.com','hu.net', 'idv.tw','in.net','incheon.kr','ind.in','info.ec','info.ht','info.ki','info.nf ','info.pl','info.ve','jeju.kr','jeonbuk.kr','jeonnam.kr','jl.cn','jp.net','j pn.com','js.cn','jur.pro','jx.cn','kg.kr','kiwi.nz','kr.com','law.pro','ln.cn ','me.uk','med.ec','med.pro','mex.com','mo.cn','ms.kr','ne.kr','net.af','net.ag','net.am','net.br','net.bz','net.cm','net.cn','net.co','net.ec','net.gg',' net.gl','net.gr','net.gy','net.hn','net.ht','net.im','net.in','net.je','net.ki','net.lc','net.lv','net.mg','net.mu','net.my','net.nf','net.nz','net.ph','n et.pk','net.pl','net.ps','net.ru','net.sb','net.sc','net.so','net.vc','net.ve','nm.cn','no.com','nom.ag','nom.co','nom.es','nom.ro','nx.cn','or.at','or.jp ','or.kr','or.mu','org.af','org.ag','org.am','org.bz','org.cn','org.es','org.gg','org.gl','org.gr','org.hn','org.ht','org.il','org.im','org.in','org.je',' org.ki','org.lc','org.lv','org.mg','org.ms','org.mu','org.my','org.nz','org.pk','org.pl','org.ps','org.ro','org.ru','org.sb','org.sc','org.so','org.uk','o rg.vc','org.ve','pe.kr','pro.ec','qc.com','qh.cn','radio.am','radio.fm','re.k r','recht.pro','ru.com','sa.com','sc.cn','sc.kr','sd.cn','se.com','senet','se oul.kr','sh.cn','sn.cn','sx.cn','tj.cn','tw.cn','uk.com','uk.net','ulsan.kr', 'us.com','us.org','uy.com','web.ve','xj.cn','xz.cn','yn.cn','za.com','zj.cn');
$url_arr = nổ(".", $url);
if (đếm($url_arr) <= 2) {
$máy chủ = $url;
} khác {
$last = array_pop($url_arr);
$last_1 = array_pop($url_arr);
$last_2 = array_pop($url_arr);
$host = $last_1.'.'.$last;
if (in_array($host, $dual_host)) {
$host = $last_2.'.'.$last_1.'.'.$last;
}
}
trả về máy chủ $;
}