У меня была такая же проблема на странице администратора.Мало того, что вам нужно избегать вставки дополнительной папки, WP может быть установлен в самой папке.
Вот способ, хотя и несколько запутанный и написанный для ясности, который вносит коррективы для этих различных элементов.,Это также позволяет избежать проблем DIRECTORY_SEPARATOR
:
if (!defined(PLUGINUPDATEMGR_DOMAIN))
define("PLUGINUPDATEMGR_DOMAIN", strtolower( $_SERVER['HTTP_HOST'] ) );
$wprootbase = strtolower( site_url() );
$wprootstart = strpos( $wprootbase, PLUGINUPDATEMGR_DOMAIN ) +
strlen( PLUGINUPDATEMGR_DOMAIN ); // + 1 to strip the leading slash/backslash
$wprootend = strlen( $wprootbase );
$wproot = substr( $wprootbase, $wprootstart, $wprootend );
echo "Local WP path = '" . $wproot . '"';
Встряхнуть, не перемешать, вывод:
Local WP path = '/wp/wordpress-3.4.2"
Конечно, YMMV = ;?)