我在我的主机的子文件夹中安装了WordPress网站,并在public_HTML中安装了另一个旧网站。我想从旧站点到新站点获取一些数据(在我的WordPress主页索引上的标题周围使用的字幕文本)(注意,这两个站点有不同的数据库)。我已经有一个PHP代码来获取数据。
//test.php
<?php
include_once("admin/includes/config.php");
include_once("admin/includes/db.class.php");
$db = new DB; $db -> open();
$strScrollingText = '';
$db -> query("select * from anouncements where status = 1
order by id desc");
if ($db -> rows() > 0)
{
$strScrollingText .= '<MARQUEE scrolldelay="100"
direction="left">';
while ($rs = $db -> rsset())
$strScrollingText .= stripslashes($rs['anouncement']) . ',
';
$strScrollingText .= '</MARQUEE>';
}
?>
当上面的test.php放在我的根目录中并运行时,它会从数据库中输出一个字幕文本。然后我将文件移动到我的主题文件夹中(当然,我使用../调整了db include文件路径)并尝试使用include('test.php)包含test.php;在我主题的header.php的<head>
中,但是当我刷新我的主页时,它是空白的。我甚至将test.php的内容复制到<head>
并删除了'echo $ strScrolling文本; '并把它放在哪里,并希望它出现,但主页仍然是空白。我也在我的Themes functions.php中使用#include指令,但是这使我的整个WordPress崩溃(我必须通过cpanel编辑文件来恢复我的wp)。
我不知道在哪里做错了,这真的令人沮丧,我需要任何帮助。如果我可以使用插件完成此操作,我甚至会感激。
答案 0 :(得分:0)
你能尝试类似下面的东西吗?创建一个新的WPDB实例并使用其方法,以确保您使用的是已包含在wordpress中的类。另外,我建议您在$db = new wpdb( EXTERNAL_DB_USERNAME, EXTERNAL_DB_PASS, EXTERNAL_DB_NAME, EXTERNAL_DB_HOST );
$strScrollingText = '';
$sql = "select * from anouncements where status = 1 order by id desc";
$results = $db->get_results($sql);
if ( count($results) > 0 ){
$strScrollingText .= '<MARQUEE scrolldelay="100" direction="left">';
foreach ($results as $row){
$strScrollingText .= stripslashes($row->anouncement) . ', ';
}
$strScrollingText .= '</MARQUEE>';
}
中启用.mdcancel {
float: left;
}
#mdedit input[type='text'] {
display: block;
width: calc(100% - 20px);
margin: 7px auto;
border: 1px solid #999;
}
.mdcancel:hover {
opacity: 0.8;
}
,以了解导致的错误。
另外我建议您首先设置wcdb参数,以避免包含来自根文件夹的文件,只是为了确保它们不会导致任何错误。如果一切正常,请尝试包含其他文件,因此您可以评估所包含的文件是否导致任何问题。
<div class='md' id='mdedit'>
<input type='text' id='inpname'>
<br>
<div class='mdcancel'>CANCEL</div>
</div>