2011-05-30 67 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