0

私は 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

そしてワードプレスのヘッダー:

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

データベースに追加し、データベースからの情報を表示すると、メイン ページで機能します。[編集] をクリックして、問題のある editdb.php ページに移動するだけです。

誰にもアイデアはありますか?

4

1 に答える 1

0

language_attributes()はwp-includes/general-template.phpにあります。

header.phpとfoter.phpだけを含めて、最高のものを期待することはできません。すべての依存関係を含める必要があります。

[myAnchorText]のようなページにアンカーテキストを挿入します。出力バッファリングを使用して最終的な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>
*/
于 2012-10-18T21:06:11.977 に答える