2010-04-06 7 views

Répondre

8

Cette fonction est définie dans wp-includes/link-template.php, et il offre un filtre:

/** 
* 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); 
} 

Vous pouvez donc contrôler la sortie avec une fonction propre de filtre dans vos thèmes fonctions .php:

add_filter('admin_url', 'my_new_admin_url'); 

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

maintenant espérons que tous les auteurs de plugins utilisent cette fonction et non un chemin codé en dur ... :)

Addendum

Ajouter cette ligne à votre .htaccess:

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

Maintenant espérons que tous les auteurs de plugins utilisent cette fonction et non un chemin codé en dur
Je suis d'accord avec vous. Mais le codé en dur peut être utilisé quand vous avez besoin de rendre la compatibilité descendante – justjoe

+0

Même Wordpress ne semble pas respecter le filtre - si vous déplacez ce dossier, vous obtiendrez des erreurs comme Warning: require_once (/ public_html/wp-admin/includes/bookmark.php) [function.require-fois]: failed to open stream: Aucun fichier ou répertoire dans /public_html/app-admin/includes/admin.php en ligne 10 (à droite du dossier WP central) –

+0

le wp- Le chemin du système de fichiers d'administration n'est PAS destiné à être modifié. Toutefois, l'URL d'administration peut être modifiée et mappée vers le chemin du répertoire interne via une directive de config serveur ou un lien de système de fichiers. –

Questions connexes