如何/在哪里添加一个自定义的INSERT MySQL查询到不同的表,当一个新的帖子在WordPress中发布



我正试图将新发布的帖子的记录放置在一个单独的db表中,除了帖子发布的常规过程之外。

我已经尝试在我的wp-includes文件夹中进入post.php,并在function wp_insert_post()内添加查询,但这会添加Auto Drafts的记录,每次更新时。

我还尝试在同一文件的function wp_publish_post()函数中包含我的插入语句。

在这些函数中是否有一个特定的部分,或者可能是一个完全不同的文件,我应该将我的INSERT语句放入每次发布新帖子时添加记录?

导航到位于wp-includes文件夹中的post.php文件。

找到wp_insert_post()函数,并在return语句之前使用此代码作为SQL查询。

if ($postarr['post_status'] == 'publish') {
    try {
        $db = new PDO('mysql:dbname=YOURDBNAME;host=YOURHOST;charset=utf8',
                        'YOURUSERNAME',
                        'YOURPASSWORD');
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
        $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    }
    catch(PDOException $ex) {
        echo "did not connect...";
    }
    $sth = $db->prepare("INSERT INTO YourTable VALUES (?, ?, 0)");
    $sth->execute(array($value1, $value2));
}

相关内容

最新更新