Помощник
|
Wordpress: как добавить много записей одной командой? |
prolisk
|
Сообщение
#1
|
||
|
|
||
|
|||
minedark |
24.12.2015, 15:49;
Ответить: minedark
Сообщение
#2
|
|||
|
Думаю тебе поможет вот такой плагин - Really Simple CSV Importer
Устанавливаешь и включаешь. Затем идешь - Инструменты - импорт и выбираешь CSV Прежде всего убедись, что формат ексель файла именно CSV(на всякий случай) Первый ряд таблицы которая содержится в CSV файле должны быть колонки такого типа: Порядок указания столбцов не имеет значения, хоть наоброт. Плагин имеет свой CSV и ODT файлы в корне плагина в папке с примерами. По умолчанию плагин присваивает post_type - Запись, а post_status - Черновик. (но их можно переопределить) Дальше остается выбрать файл и нажать одну кнопку, как вы и хотели) Вот такой вариант, может вам и подойдет) Надеюсь этот плагин вам поможет. :beach: |
|||
|
||||
prolisk
|
Сообщение
#3
|
|
(minedark) должны быть колонки такого типа я уверен, что как и в запросе по mysql, некоторые колонки вводить не обязательно. ВП подставит значения по умолчанию. В целом полезно для 100+ столбцов, спасибо, плюсую. Но вот узнать бы еще какой индекс в базе для каждого из произвольных полей. Пойду копаться ;) Добавлено спустя 8 минут 17 секунд: Плагин если что Really Simple CSV Importer (постом выше ошибочка) Добавлено спустя 29 минут 24 секунды: В общем, если пример файла заливаешь - все работает. Если редактируешь и сохраняешь (даже кодировку меняешь на УТФ8) - ошибка. Дело в кодировке, попробую не csv, а прогу для ods. Еще главный вопрос - как прописывать ПРОИЗВОЛЬНЫЕ ПОЛЯ? -------------------- Блог вебмастера. Добавь свой сайт в белый каталог |
|
|
minedark |
24.12.2015, 21:36;
Ответить: minedark
Сообщение
#4
|
|
prolisk, мог не увидеть) больше к сожалению подсказать не могу)
|
|
|
prolisk
|
Сообщение
#5
|
|
(minedark) больше и так спасибо, понял куда и как копать. Все равно решаю через базу все сделать, сам наверное скрипт цикла набросаю. Добавлено спустя 13 часов 32 минуты 11 секунд: Было сложновато, но я все таки решил задачу :)Проблема была именно в произвольных полях. Все таки упростил работу через Really csv import, настроил csv файл, но не по примеру, а своими штучками. Все произвольные поля добавил в конце. Сохранил в формате .csv (разделители), в кодировке UTF-8, А потом через notepad+ открыл и автозаменой все ; заменил на , :) Более подробно со скринамы скоро в блоге напишу ) -------------------- Блог вебмастера. Добавь свой сайт в белый каталог |
|
|
MAzZY |
28.12.2015, 22:18;
Ответить: MAzZY
Сообщение
#6
|
|
Есть функция wp_insert_post. Она все вопросы решает на ура
Добавлено спустя 3 минуты 8 секунд: Вот один пример, как я мигрировал сайт с одного двига на ВП <?php
echo '<!DOCTYPE html><html lang="ru-RU"><head><meta charset="UTF-8"></head><body>'; set_time_limit(0); require_once( '/wp-load.php'); //База $hostname = "localhost"; $username = "astro"; $password = "astro"; $dbName = "astro"; //Исходная таблица $userstable = "tree"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение"); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM $userstable WHERE `parent_id` =28"; $res = mysql_query($query) or die(mysql_error()); //Исходные данные $i=0; while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $post_id = wp_insert_post( //Создаём посты array( 'post_title' => $row["name"], 'post_content' => $row["text"], 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(7) //'post_type' => 'page' //Тип - запись или страница ), $wp_error); $ins = "INSERT INTO `wp_postmeta`(`post_id`, `meta_key`, `meta_value`) VALUES ('".$post_id."','_aioseop_title','".$row["title"]."')"; //All-in-One SEO $res_ins = mysql_query($ins) or die(mysql_error()); usleep(200); $i++; echo '<br>'; } echo $i; echo '</body></html>'; ?> -------------------- |
|
|
prolisk
|
Сообщение
#7
|
|
MAzZY, да я через базу делал простые запросы (без произвольных полей).
А для своей задачи (тайтл, нейм, категория, теги + 6 произвольных полей) - настроил плагин. -------------------- Блог вебмастера. Добавь свой сайт в белый каталог |
|
|
MAzZY |
29.12.2015, 12:58;
Ответить: MAzZY
Сообщение
#8
|
|
(prolisk) я через базу делал простые запросы В ВП так нельзя. Информация о посте вписывается в несколько таблиц, поэтому обязательно нужно использовать штатный инструмент, иначе потом будет много проблем -------------------- |
|
|
prolisk
|
Сообщение
#9
|
|
(MAzZY) Информация о посте вписывается в несколько таблиц, я понял это, писал выше, что произвольные поля в другой таблице :) Думал скрипт написать, а потом решил - зачем, если допилить плагин и файл импорта? :) -------------------- Блог вебмастера. Добавь свой сайт в белый каталог |
|
|
andreykashops_hb |
13.1.2016, 13:22;
Ответить: andreykashops_hb
Сообщение
#10
|
|
prolisk, проблема в том, что при импорте данных через SQL, нужно вначале отправить запрос на вставку записи, получить ID этой записи, а только потом кастомные поля добавлять. Одним INSERT не отделаешься <_<
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1117 | 26.3.2024, 14:13 автор: knezevolk |
|
Как вы бросили работу и перешли на заработок с сайтов? | 12 | uahomka | 2284 | 25.3.2024, 6:52 автор: Skyworker |
|
Как отозвать банковский платеж фрилансеру? | 28 | metvekot | 3911 | 25.3.2024, 6:34 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 23 | freeax | 3636 | 24.3.2024, 20:55 автор: Liudmila |
|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 1929 | 23.3.2024, 7:41 автор: Room |
Текстовая версия | Сейчас: 28.3.2024, 17:00 |