【发布时间】:2009-12-20 23:19:08
【问题描述】:
我是 PHP 新手,如果我的任何术语不正确,请多多包涵。
我有一个小的 PHP 文件 (page_class.php),它定义了一些函数,我将这个文件包含在我的主题的 header.php 中:
<?php include("page_class.php"); ?>
这些是page_class.php的内容:
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
function get_subdomain() {
$page_url = curPageURL();
$parts = split('\.', $_SERVER["SERVER_NAME"]);
return $parts[0];
}
function get_body_class() {
$subdomain = get_subdomain();
if ($subdomain == "keyes") {
$path_parts = split('/', $_SERVER["REQUEST_URI"]);
$clazz = $path_parts[1];
}
else {
$clazz = $subdomain;
}
if ($clazz == "greasemonkey" || $clazz == "wordpress") {
$clazz = "work";
}
if ($clazz == "") {
$clazz = "home";
}
return $clazz;
}
?>
我打电话给get_body_classheader.php:
<body class="<?php echo get_body_class(); ?>">
此设置适用于 WordPress MU 2.7.1。我最近升级到 2.8.6,它坏了。当我访问博客上的任何页面时,屏幕都是空白的。
经过一番调查,我发现通过更改函数名称(我在它们前面加上jk_)它又可以工作了。
我猜这是命名冲突,但找不到。我想知道是否有任何 PHP 或 WordPress 开发人员知道为什么会发生这种情况。
【问题讨论】: