Я пытаюсь поместить запись недавно опубликованного поста в отдельную таблицу базы данных помимо обычного процесса, через который проходит пост, чтобы его опубликовать.
Я пытался войти в post.php
в моем wp-includes
папка, и добавление запроса внутри function wp_insert_post()
но это добавляет записи для Auto Drafts
и каждый раз, когда производится обновление.
Я также попытался включить мой оператор вставки в function wp_publish_post()
Функция этого же файла. Это ничего не делает.
Есть ли какая-то конкретная часть в одной из этих функций или, может быть, в другом файле, который я должен разместить INSERT
заявление, чтобы добавить запись каждый раз, когда новый пост публикуется?
Перейдите к вашему post.php
файл находится в wp-includes
папка.
Найти 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));
}
Других решений пока нет …