2010-04-06 43 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