如何获取wordpress根url(每页ABSPATH都会更改)


How to obtain wordpress root url (ABSPATH changes on each page)

我在安装了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个字符