Как / где бы вы добавили пользовательский запрос MySQL INSERT в другую таблицу для публикации нового сообщения в WordPress?

Я пытаюсь поместить запись недавно опубликованного поста в отдельную таблицу базы данных помимо обычного процесса, через который проходит пост, чтобы его опубликовать.

Я пытался войти в post.php в моем wp-includes папка, и добавление запроса внутри function wp_insert_post() но это добавляет записи для Auto Drafts и каждый раз, когда производится обновление.

Я также попытался включить мой оператор вставки в function wp_publish_post() Функция этого же файла. Это ничего не делает.

Есть ли какая-то конкретная часть в одной из этих функций или, может быть, в другом файле, который я должен разместить INSERT заявление, чтобы добавить запись каждый раз, когда новый пост публикуется?

1

Решение

Перейдите к вашему 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));

}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]