2011-05-30 71 views
5

我已經WordPress的安裝在(每個頁面上ABSPATH變化):如何obatain WordPress的根URL

http://example.com/wordpress/

當網頁

,該ABSPATH不斷輸出正是這樣,但是當你瀏覽過到一些其他的頁面,如:

http://example.com/wordpress/contact

的ABSPATH也變爲:

http://example.com/wordpress/contact

問題是,我怎樣才能獲得實際的根(用粗體標出),無論我在哪個頁面上 - 沒有對其進行硬編碼?

我對ABSPATH爲什麼會改變值有點困惑,一旦定義了常量就不能改變了嗎?

謝謝!

回答

2

可以使用Site_url(); ... :)

+0

感謝您的快速回復。 – CodeVirtuoso 2011-05-30 12:15:07

4

我有同樣的問題在管理頁面上。您不僅需要避免插入額外的文件夾,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" 

當然,因人而異=;?)

0

ABSPATH返回到PHP文件的絕對路徑在/ var/www/wordpress /等服務器上,請檢查您的wordpress安裝。

回答你的問題是使用:

SITE_URL()

代碼bloginfo()

隨着人們如上所述。

你也可以使用

是$ var = get_bloginfo( 'wpurl');

來獲取值到一個變量

0

正確答案是

<?php echo esc_url(home_url('/')); ?> 

下面是一些文本,因爲我必須有至少30個字符

+0

這個問題已經超過3年,已經有了一個可以接受的答案。請嘗試回答更多當前問題。 – ByteHamster 2015-02-20 16:32:08

+0

,這不能與'get_home_path()'返回根路徑,比如'/ var/www/wordpress /' – 2015-09-19 22:35:05