我安装了wordpress:
在主页上,ABSPATH常量输出正是如此,但当您导航到其他页面时,例如:
http://example.com/wordpress/contact
ABSPATH也转向:
http://example.com/wordpress/contact
问题是,无论在哪个页面上我如何获得实际的根(以粗体标记) - 没有硬编码?
我对ABSPATH改变值的原因有点困惑,定义后常量是不可更改的吗?
谢谢!
答案 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个字符