2010-04-06 42 views

回答

8

此功能在定義WP-包括/鏈接的template.php,並且它提供了一個過濾器:

/** 
* Retrieve the url to the admin area. 
* 
* @package WordPress 
* @since 2.6.0 
* 
* @param string $path Optional path relative to the admin url 
* @return string Admin url link with optional path appended 
*/ 
function admin_url($path = '') { 
    $url = site_url('wp-admin/', 'admin'); 

    if (!empty($path) && is_string($path) && strpos($path, '..') === false) 
     $url .= ltrim($path, '/'); 

    return apply_filters('admin_url', $url, $path); 
} 

所以,你可以控制與自己的過濾函數的輸出在你的主題功能.PHP

add_filter('admin_url', 'my_new_admin_url'); 

function my_new_admin_url() 
{ 
    // Insert the new URL here: 
    return 'http://example.org/boss/'; 
} 

現在希望所有插件作者使用此功能,而不是一個硬編碼路徑... :)

附錄

此行添加到您的.htaccess:

Redirect permanent /wp-admin/ http://example.org/new_url/ 
+0

現在希望所有插件作者使用此功能,而不是一個硬編碼路徑
我同意你的看法。但是,當您需要進行向後兼容時,硬編碼的可以使用 – justjoe 2010-04-06 13:31:15

+0

即使Wordpress似乎並不尊重過濾器 - 如果移動該文件夾,您將收到如Warning:require_once(/ public_html/wp-admin/includes/bookmark.php)[function.require-once]:未能打開流:沒有這樣的文件或目錄在第10行的/public_html/app-admin/includes/admin.php(右側來自核心WP文件夾) – 2012-05-22 01:58:20

+0

wp-管理文件系統路徑並不意味着被改變。但是,可以通過服務器配置指令或文件系統鏈接更改管理URL並將其映射到內部目錄路徑。 – 2017-01-21 22:52:28