如何从外部数据库中获取数据到我的wordpress home

时间:2018-03-31 12:44:11

标签: php database wordpress

我在我的主机的子文件夹中安装了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)。
我不知道在哪里做错了,这真的令人沮丧,我需要任何帮助。如果我可以使用插件完成此操作,我甚至会感激。

1 个答案:

答案 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>