在页面上包含wordpress页眉/页脚时,不会显示编辑数据库

时间:2012-10-18 20:52:32

标签: php database wordpress edit

我正在使用wordpress网站,但对于网站的一部分,我已决定手动连接到数据库,并基本上绕过wordpress来编辑数据库并检索结果。

问题是,当我包含WP页眉和页脚时,我得到一个空白页面,虽然我无法理解,但查看源会出错。

这是页面显示的源代码:

<!DOCTYPE html> <!--[if IE 6]> <html id="ie6" <br /> <font size='1'><table class='xdebug-error xe-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: Call to undefined function language_attributes() in C:\wamp\www\thurston\wp-content\themes\twentyeleven\header.php on line <i>15</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0013</td><td bgcolor='#eeeeec' align='right'>388104</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\thurston\wp-content\themes\twentyeleven\editdb.php' bgcolor='#eeeeec'>..\editdb.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0024</td><td bgcolor='#eeeeec' align='right'>438352</td><td bgcolor='#eeeeec'>require( <font color='#00bb00'>'C:\wamp\www\thurston\wp-content\themes\twentyeleven\header.php'</font> )</td><td title='C:\wamp\www\thurston\wp-content\themes\twentyeleven\editdb.php' bgcolor='#eeeeec'>..\editdb.php<b>:</b>3</td></tr> </table></font>

对不起,但所有这些都显示出来。

实际页面的代码是这样的(链接到它,因为此站点上的代码功能不起作用):

https://dl.dropbox.com/u/10062971/editdb.php

wordpress标题:

https://dl.dropbox.com/u/10062971/header.php

添加到数据库然后显示数据库中的信息在主页上工作,它只需单击编辑并转到出现问题的editdb.php页面。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

language_attributes()位于wp-includes / general-template.php。

你不能只包括header.php和foter.php并希望最好。你必须包括所有依赖项。

在像[myAnchorText]这样的页面中插入一个anchortext,使用输出缓冲来捕获最终的HTML并替换achor文本:

<?php
// example from php.net
function callback($buffer) {
  // replace all the apples with oranges
  //or whatever logic you have
  return (str_replace("[myAnchorText]", "oranges", $buffer));
}
ob_start("callback");
?>
<html><body>
<p>It's like comparing apples to oranges.</p>
</body></html>
<?php ob_end_flush(); ?>
/* output:
   <html><body>
   <p>It's like comparing oranges to oranges.</p>
   </body></html>
*/