我的wordpress主题有问题,functions.php文件输出错误的标题错误:
警告:无法修改标题信息 - 已在/ home / slavisap /中发送的标题(输出从/ home / slavisap / public_html / femarkets / wordpress / wp-content / themes / Flex E / functions.php:67开始)第934行的public_html / femarkets / wordpress / wp-includes / pluggable.php
当我尝试访问某个页面或从管理员创建另一个页面时,它会随机发生。
这是我的functions.php:
<?php
if (function_exists('register_nav_menus')) {
register_nav_menus(
array(
'primary' => 'Primary Header Nav',
'footer_menu' => 'Footer Menu',
'exploring' => 'Exploring Page Menu',
'using' => 'Using Page Menu',
'downloading' => 'Downloading Page Menu'
)
);
}
function get_breadcrumbs() {
global $wp_query;
if (!is_home()) {
// Start the UL
echo '<ul class="breadcrumbs">';
// Add the Home link
echo '<li><a href="' . get_settings('home') . '">' . get_bloginfo('name') . '</a></li>';
if (is_category()) {
$catTitle = single_cat_title("", false);
$cat = get_cat_ID($catTitle);
echo "<li> / " . get_category_parents($cat, TRUE, " / ") . "</li>";
} elseif (is_archive() && !is_category()) {
echo "<li> / Archives</li>";
} elseif (is_search()) {
echo "<li> / Search Results</li>";
} elseif (is_404()) {
echo "<li> / 404 Not Found</li>";
} elseif (is_single()) {
$category = get_the_category();
$category_id = get_cat_ID($category[0]->cat_name);
echo '<li> / ' . get_category_parents($category_id, TRUE, " / ");
echo the_title('', '', FALSE) . "</li>";
} elseif (is_page()) {
$post = $wp_query->get_queried_object();
if ($post->post_parent == 0) {
echo "<li> / " . the_title('', '', FALSE) . "</li>";
} else {
$title = the_title('', '', FALSE);
$ancestors = array_reverse(get_post_ancestors($post->ID));
array_push($ancestors, $post->ID);
foreach ($ancestors as $ancestor) {
if ($ancestor != end($ancestors)) {
echo '<li> » <a href="' . get_permalink($ancestor) . '">' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '</a></li>';
} else {
echo '<li> » ' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '</li>';
}
}
}
}
// End the UL
echo "</ul>";
}
}
?>
你知道我做错了吗?
答案 0 :(得分:7)
由于您发布的functions.php文件中没有第67行(至少是我复制/粘贴到我的编辑器中的版本),我猜你在开头和/或结尾都有一些额外的空白区域您的functions.php文件(在开始<?php
之前或关闭?>
标记之后)。
<?php ?>
标记之外的PHP文件中的任何字符都被视为标准输出,并立即写入STDOUT(或Web服务器输出流),在Web服务器方案中,这将导致标题被发送,因为你输出的是响应的主体。
确保开头<
是文件中的第一个字符,而结束>
是文件中的最后一个字符。
如果文件中的所有数据都是PHP代码,您实际上不需要包含结束?>
标记,省略它将有助于避免这样的问题......