我正在尝试获取类似于WordPress网站网址的值,以识别某个WordPress安装。
由于get_site_url
可以改变(使用插件或直接),我想出了这个:
untrailingslashit('http://'.$_SERVER['HTTP_HOST'].str_replace($_SERVER['DOCUMENT_ROOT'],'', ABSPATH));
这给我提供了基于它的地址来识别WordPress的好结果,但是如果这可能会导致某些服务器安装出现问题,那我很好奇吗?
答案 0 :(得分:2)
我希望此链接可以帮助您更好地理解使用
的含义home_url() will only return the mapped domain on or after the init has fired. Calling it before then will return the .wordpress.com domain.
If you accidentally use site_url() in your templates, theme-side links will still redirect correctly to the home_url() equivalent.
home_url() is the preferred method, as it avoids the above redirect.
答案 1 :(得分:1)
根据您提供的信息,这是我的答案。
创建一个功能。首先检查主页是否在wp-config中定义为常量。如果是这样,那就是URL。它会覆盖任何DB值,因此如果设置不正确,该站点将无法运行。
如果未设置,则运行手动数据库查询以从选项表中获取home的值。通过手动运行而不是使用get_option,在使用它之前,插件无法更改此值。
function wpse_get_license_url() {
global $wpdb;
if ( defined( 'WP_HOME' ) ) {
return WP_HOME;
} else {
$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", 'home' ) );
return $row->option_value;
}
}
答案 2 :(得分:0)
blogininfo('siteurl');
get_option('home');
home_url();
site_url();