如何获取wordpress根URL(每页上的ABSPATH更改)

时间:2011-05-30 11:48:49

标签: php wordpress

我安装了wordpress:

http://example.com/wordpress/

在主页上,ABSPATH常量输出正是如此,但当您导航到其他页面时,例如:

http://example.com/wordpress/contact

ABSPATH也转向:

http://example.com/wordpress/contact

问题是,无论在哪个页面上我如何获得实际的根(以粗体标记) - 没有硬编码?

我对ABSPATH改变值的原因有点困惑,定义后常量是不可更改的吗?

谢谢!

4 个答案:

答案 0 :(得分: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" 

当然,YMMV =;?)

答案 1 :(得分:3)

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

答案 2 :(得分:0)

ABSPATH返回服务器中php文件的绝对路径,例如/ var / www / wordpress /,请检查你的wordpress安装。

您的问题的答案是使用:

  

SITE_URL()

  

代码bloginfo()

正如上面提到的人。

您也可以使用

  

$ var = get_bloginfo('wpurl');

将值转换为变量

答案 3 :(得分:0)

正确的答案是

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

这是一些文字,因为我必须至少有30个字符