在上面添加自定义php数据库代码

时间:2012-08-10 作者:John

我有一个非插件脚本,它有自己的数据库,我想与Wordpress一起使用。如何在wordpress页面中添加连接到此单独数据库的自定义php代码?它需要放在上面每一页的顶部<html>

我正在使用Genesis框架。

非常感谢您的帮助

这是我的函数中的自定义函数。php文件

    /** Activate IP Timer Countdown */
add_action( \'init\', \'your_script_function\' );

function your_script_function() {

$notimeleft_str = "There is no time left";
$hours          = 48;
$minutes        = 0;
$days           = 0;
$months         = 0;
$db_host        = "localhost";
$db_user        = "xxxxx";
$db_pass        = "xxxxx";
$db_dbname      = "xxxxx";
$str = "+" . $months . \' months +\' . $days . \' days +\' . $hours . \' hours +\' . $minutes . \' minutes\';

// DO NOT EDIT BELOW THIS LINE!
date_default_timezone_set(\'UTC\');
include_once("mysql.class.php");
$db = new MySQL(true, $db_dbname, $db_host, $db_user, $db_pass);
$db->ThrowExceptions = true;

$script_name = $_SERVER["PHP_SELF"];
$cookie_expire = 60*60*24*365*20;

$str_interval = "+" . $months . \' months +\' . $days . \' days +\' . $hours . \' hours +\' . $minutes . \' minutes\';

if($_COOKIE[\'cd_until\']) $cookie = json_decode($_COOKIE[\'cd_until\'], true);
else $cookie = Array();

if(isset($_GET["reset"])) {
    //$db->DeleteRows("cd_until", Array("ip" => \'"\' . $_SERVER["REMOTE_ADDR"] . \'"\', "page" => \'"\' . $script_name . \'"\'));
    unset($cookie[$script_name]);
    header("Location: " . $_SERVER["PHP_SELF"]);
}
else {
    $query = "SELECT * FROM cd_until WHERE ip=\'" . $_SERVER["REMOTE_ADDR"] . "\' AND page=\'" . $script_name . "\'";
    $value = $db->QuerySingleRow($query);
    if($value) {
        $thedatetime = new DateTime();
        $thedatetime->setTimestamp(intval($value->until));

        $cookie[$script_name] = intval($value->until);
    } else {
        if($cookie[$script_name]) {
            $thedatetime = new DateTime();
            $thedatetime->setTimestamp( intval( $cookie[$script_name] ) );
        } else {
            $thedatetime = new DateTime();
            $thedatetime->modify( $str_interval );

            $cookie[$script_name] = intval( $thedatetime->format("U") );
        }

        $new_id = $db->InsertRow(
                "cd_until",
                Array(
                        "ip" => \'"\' . $_SERVER["REMOTE_ADDR"] . \'"\',
                        "until" => intval( $thedatetime->format("U") ),
                        "page" => \'"\' . $script_name . \'"\'
                )
        );
    }
}

setcookie("cd_until", json_encode($cookie), time() + $cookie_expire, "/");

}

2 个回复
SO网友:Jasper Denkers

您可以使用WordPress操作挂钩。例如,可以将以下代码添加到主题函数中。php文件:

add_action( \'init\', \'your_script_function\' );

function your_script_function() {
    // your script here
}
第一行使WordPress在初始化时执行“your\\u script\\u function”函数。您可以在该函数中添加脚本。

或者,您可以将代码添加到插件中。这将更容易在多个WordPress安装上使用/安装脚本。确实不建议编辑WordPress核心文件。

有关WordPress操作和挂钩的更多信息:

SO网友:mjsa

我想说的是wp负载。php文件将是一个安全的地方,因为它包含在所有使用WP函数的页面中。

结束

相关推荐

在footer.php中使用PHP加载特定页面上的脚本

我正在尝试仅在特定页面上需要时加载脚本。我的页脚中有以下内容,但我正在努力解决“is nots”问题,并将PHP链接到一个else if语句中,我认为这将比我现在编写的方式更加优雅。代码如下:<?php if (is_page(\'home\') ) { ?> <script type=\"text/javascript\" src=\"<?php echo bloginfo(\'template_directory\');?>/scripts/jquery.jcar