web-dev-qa-db-fra.com

Comment déplacer le répertoire du thème mais pas les plugins/uploads hors du répertoire racine de WordPress?

J'essaie de configurer quelques installations multisites locales qui partageront le même dossier de thèmes, mais disposeront de dossiers de téléchargement et de plug-ins distincts qui se trouveront aux emplacements habituels dans wp-content.

MIS À JOUR:

WordPress est installé à /Users/josh/Documents/Websites/themedev.dev/ et j'ai créé le nouveau répertoire de thème à Users/josh/Documents/jp-content/jp-themes dans lequel j'ai placé vingt-douze à des fins de test.

La suggestion de Per Otto ci-dessous j'ai créé et activé un plugin qui est juste ceci:

$directory = '/Users/josh/Documents/Websites/jp-content/jp-themes';
register_theme_directory( $directory );

Cela en a montré vingt-douze dans la page d’administration du thème, mais au début, j’ai eu une page blanche et la source de la page était totalement vide.

Lorsque j'ai changé la première ligne en $directory = '/Users/josh/Documents/Websites/jp-content/jp-themes/' (note the trailing slash,) I got the theme, but not the style. When I echoed the value ofget_template_directory_uri () I gotUtilisateurs/josh/Documents/Sites Web/jp-content/jp-themes // vingttwelvewhich would explain it. I tried usingtrailingslashit` au lieu d'ajouter la barre oblique comme ceci:

$string = '/Users/josh/Documents/Websites/jp-content/jp-themes';
$directory = trailingslashit( $string );
register_theme_directory( $directory );

et obtenu les mêmes résultats.

Je n'arrive toujours pas à comprendre ce que je fais mal ici ...

1
JPollock

http://codex.wordpress.org/Function_Reference/register_theme_directory

/**
 * Register a directory that contains themes.
 *
 * @since 2.9.0
 *
 * @param string $directory Either the full filesystem path to a theme folder or a folder within WP_CONTENT_DIR
 * @return bool
 */
function register_theme_directory( $directory )

Vous devriez pouvoir appeler register_theme_directory('/full/path/to/directory') et ajouter ainsi un nouveau chemin plein de thèmes. Ceci élimine le besoin d'utiliser les définitions que vous tentez de faire. Vous pouvez faire cela dans un mu-plugin sur chaque installation, pour forcer toute l'installation à avoir ces thèmes disponibles.

Je laisserais les thèmes par défaut dans le répertoire wp-content/themes à chaque installation et ajouterais simplement vos thèmes personnalisés dans votre nouveau chemin de thème.

3
Otto