Добавление записи в WP с помощью php

12
SN
На сайте с 28.07.2014
Offline
1
1533

Добрый день:idea:

Есть задача:

Требуется добавить пост "hello world" на сайт.

Пробую через следующий метод:

<?php 

if (!mysql_connect("localhost", "test12345", "test12345")){exit;}
mysql_query("SET NAMES 'utf8'");
mysql_select_db ("test12345") or die(mysql_error());

$today = time();
$today = date("Y-n-j G:i:s", $today);


$sql_zapros = 'INSERT INTO wp_posts(post_author, post_date, post_content) VALUES("avtor","'.$today.'","hello world")';

if(!mysql_query($sql_zapros))
{echo '<center><p><b>Ошибка при добавлении поста!</b></p></center>';}
else
{echo '<center><p><b>Пост добавлен!</b></p></center>';}


?>

:idea: прошу помощи, как правильно оформить запрос INSERT INTO и VALUES. А именно в каком формате.

У меня ничего не выходит. Буду очень благодарен.

DD
На сайте с 20.05.2010
Offline
54
#1

Добрый день!

Попробуйте так:

$mysql = mysql_connect("localhost", "test12345", "test12345") or die ("Ошибка подключения к серверу БД");
mysql_query("SET NAMES 'utf8'", $mysql);
mysql_select_db ("test12345", $mysql) or die( mysql_error() );

$today = date ("Y-m-d H:i:s");

mysql_query ("INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count)
VALUES(1, $today, $today, 'Текст1', 'Текст2', '', 'publish', 'open', 'open', '', '', '', '', $date, $date, '', 0, 'http://адрес.ru/node/5', 0, 'post', '', 1)");

mysql_close ($mysql);
Изготовление сайтов (CMS Joomla, Wordpress) ( https://searchengines.guru/ru/forum/861077 )
SN
На сайте с 28.07.2014
Offline
1
#2

DmitriyDonetsk, спасибо за внимание к теме.

После выполнения скрипта - ничего не получилось...

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
SocNet:
Пробую через следующий метод:

Не нужно писать напрямую в базу! Юзай XML-RPC или функции ВП.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
SN
На сайте с 28.07.2014
Offline
1
#4

SeVlad, считаешь лучше использовать XML-RPC запрос чем прямое обращение к БД?

Как быть если требуется импорт самой записи + комментарии к ней.

VulkanPartner
На сайте с 27.03.2014
Offline
91
#5

Так а сам запрос пробовали испольнить через PHPMyAdmin например и посмотреть пройдет ли? Может в нем дело? Может в сами переменных. Также попробуйте сформировать запрос в связке с or die( mysql_error()) и посмотреть какую ошибку возвращает. А то по формулировке "ничего не получилось" трудно понять в какую сторону двигаться )

https://perestroika.team/ru/ (https://perestroika.team/ru/) Perestroika Affiliates- ведущая гемблинг-партнерка. RevShare - до 60%. CPA - до 150$.
SN
На сайте с 28.07.2014
Offline
1
#6
VulkanPartner:
Так а сам запрос пробовали испольнить через PHPMyAdmin например и посмотреть пройдет ли? Может в нем дело? Может в сами переменных. Также попробуйте сформировать запрос в связке с or die( mysql_error()) и посмотреть какую ошибку возвращает. А то по формулировке "ничего не получилось" трудно понять в какую сторону двигаться )

Ошибка:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '16:36:36, 2014-09-12 16:36:36, 'hello world', 'hello world text', '', 'publish',' at line 2

Сам код:

<?php 


$mysql = mysql_connect("localhost", "test12345", "test12345") or die ("Ошибка подключения к серверу БД");
mysql_query("SET NAMES 'utf8'", $mysql);
mysql_select_db ("test12345", $mysql) or die( mysql_error() );

$today = date ("Y-m-d H:i:s");

mysql_query ("INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count)
VALUES(1, $today, $today, 'hello world', 'hello world text', '', 'publish', 'open', 'open', '', '', '', '', $date, $date, '', 0, '', 0, 'post', '', 1)");
die( mysql_error())


?>
siv1987
На сайте с 02.04.2009
Offline
427
#7
SocNet:
VALUES(1, $today, $today,

$today - это строка.

Mad_Man
На сайте с 10.11.2008
Offline
162
#8

ТС, юзать API самого движка религия не позволяет?

S3
На сайте с 29.03.2012
Offline
360
#9

Соглашусь, для ВП писать в базу лучше встроенными функциями.

При записи таким образом столкнулся с одной вещью - должны ОБЯЗАТЕЛЬНО добавляться данные во ВСЕ столбцы таблицы, даже если они пустые - все равно нужно в запросе прописывать.

А вот со встроенными функциями все проходит легко и просто, причем все данные очищаются - можно не чистить дополнительно от внедренного кода.

SeVlad
На сайте с 03.11.2008
Offline
1609
#10
SocNet:
SeVlad, считаешь лучше использовать XML-RPC запрос чем прямое обращение к БД?

Ессно! Зависимостей море - вычислять их всех? Ну вычислил, накодил, а в в след версии разрабы возьми и поменяй чо-нить...

Для постинга в ВП со сторонних приложений существует и АПИ и хмл-рпс и даже по мылу можно постить.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий