我在安装了wordpress
http://example.com/wordpress/
当在主页上时,ABSPATH常量输出的正是这个,但当你导航到其他页面时,比如:
http://example.com/wordpress/contact
ABSPATH也变为:
http://example.com/wordpress/contact
问题是,无论我在哪一页上,我如何在不进行硬编码的情况下获得实际的根(用粗体标记)?
我有点困惑,为什么ABSPATH会更改值,常量一旦定义就不可更改吗?
谢谢!
您可以使用Site_url();
…:)
我在一个管理页面上遇到了同样的问题。您不仅必须避免插入额外的文件夹,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=;?)
ABSPATH返回服务器中php文件的绝对路径,例如/var/www/wordpress/,请检查您的wordpress安装。
你的问题的答案是使用:
site_url()
或
bloginfo()
正如上面提到的人。
你也可以使用
$var=get_bloginfo('purl');
将值输入变量
正确答案是
<?php echo esc_url( home_url( '/' ) ); ?>
这里有一些文本,因为我必须至少有30个字符