这是一种骇人的方式;但不幸的是,没有一个WP函数可以同时完成这两个任务(主题和/或插件)。这只是一个非此即彼的提议。
表面上看,你会认为这并不困难。您只需获取路径并将其与网站URL或类似的内容进行比较。但当WP安装在根目录以外的其他位置(例如目录)时,您会遇到问题。
如果您在函数中查看我的设置,“else”条件很简单。如果可湿性粉剂总是在根部,那将是你所需要做的全部。其他一切都是为了处理另一种可能性(WP位于目录或更低的目录中)。
在这种情况下,它会分解站点URL,以确定是否存在不止根域(大于3的数组)。如果是这样的话,它将遍历我们从explode()
过程我们可以跳过数组的前三个元素,因为它们应该是域的根(https://example.com). 然后构建路径(如果下面不止一个目录)。
使用它可以去掉根URL下面的所有内容,这样就可以得到一个干净的URL。然后将路径附加到文件。
function my_get_file_url_path() {
// Account for WP being installed in a directory.
$path_info = \'\';
$site_url = site_url();
$url_parts = explode( \'/\', $site_url );
if ( array_count_values( $url_parts ) > 3 ) {
$x = 0;
foreach ( $url_parts as $this_part ) {
if ( $x > 2 ) {
$path_info = $this_part . \'/\';
}
$x++;
}
$site_actual_url = str_replace( $path_info, \'\', trailingslashit( $site_url ) );
return $site_actual_url . trim( str_replace( $_SERVER[\'DOCUMENT_ROOT\'], \'\', __DIR__ ), \'/\' );
} else {
return str_replace( $_SERVER[\'DOCUMENT_ROOT\'], $site_url, __DIR__ );
}
}