Спонсор поста: дешево? в топ? cheaptop.ru — регистрация в каталогах сайтов и статей.
Тук.
Тема сегодняшнего урока Благодаря тому, что мне посчастливилось озадачиться автоматическим наполнением сайта с большого экселовского файла, сегодня поговорим об импорте данных из .csv в WordPress. Не всегда ж синонимайзить, можно и в других местах уникальный контент поискать
На этом тонкий намек окончен и мы приступаем к действиям.
Очень помогла в этом плане вот эта запись [англ]. Также в буржуйнете встречал парочку плагинов за 20/100 Евро, которые прямо напичканы функциональностью – все для того, чтоб вы купили. Ну а мы будем пользоваться бесплатными решениями.
1. Качаем скрипт. Заливаем скрипт в —> /wp-admin/import/ и успокаиваемся. Топаем в админку и смотрим Импорт —> CSV, если есть, то хорошо.
2. Готовим наш вкусный Excel-файл для заливки на блог. [С первого раза обычно не получается, поэтому нужно несколько раз попробовать на нескольких параметрах, чтобы потом залить большой файл, ну, если он большой))] С недавних пор я работаю с OpenOffice.org, поэтому если для продуктов Microsoft может быть чуть по-другому. Но суть одна и та же — в итоге должен получиться файл совершенно однозначно структурированный.
Первые пять рядов [сверху вниз должны называться только так и только в таком порядке]:
wp_title wp_post_date wp_category wp_content wp_tags
Только строчка 1-я, а не 24-я.
Упорядочиваем наши *данные* в соответствии с этими столбиками. С тайтлами все ясно, а с датами небольшие проблемы. Для базового формата даты, а именно ‘F j, Y’ как в настройках админки/темы я использовал такой формат дат [Изображение из Notepad++]:
Эти записи выводятся по датам: January 18th, 2009, January 17th, 2009, January 16th, 2009. А вот в Excel-образных продуктах с датами небольшой косяк. Они не воспринимают 09/01/16 как 16е Января 2009, а воспринимают его, как 9е Января 2016. [если много разных дат и отложенная публикация вас не интересуют следующий абзац можете не читать]
Поэтому идем в формат ячейки и задаем там формат Дата —> 99-12-21. Как бы наоборот, что нам и нужно. Это позволяет нам автоматически [что важно] продолжить ход дат, а не вручную все исправлять. Впоследствии мы в Notepad++ заменяем эти “-” на “/”. Забыл сказать, в нашем плагине-скрипте используется разделитель “|” – так что нам также нужно будет в Notepad++ заменить ваш разделитель [скорее всего это ";"] на “|”.
С категориями понятно, теперь контент. Если контент наш в столбике wp_content на русском, то необходимо обязательно кодировать .csv файл в UTF-8 [без BOM], не забывайте. На контент вроде лимитов быть не должно [кликабельно]:
Есть только лимит на размер загружаемого файла. 2 метра. Эта фича не плагина, эта фича WordPress’а и как ее сломать я, к сожалению не нашел. В англоверсии при загрузке фала большего объема выводит “Are you sure you want to do this?” и ссылку на “Попробовать еще разок”. А. Проблема по всей видимости вовсе не в WP, а в .php. Итак, читаем статью или гуглим [для любителей]. Там все понятно расписано, к тому же и с предусмотрением еще одной проблемы – максимального времени выполнения скрипта, которое нам также нужно увеличить. Я не пробовал, но как попробую выложу здесь UPD.
Так, какие еще есть тонкости… Можно задавать Custom fields, по-русски это вроде называется Произвольными полями. Порядок действий – обзываете колонку [6ю например] таким образом, чтобы название колонки совпадало с тем произвольным полем, которое нужно добавить. Содержание конкретной ячейки – содержание конкретного произвольного поля конкретного поста.
Также можно настроить заливку не в Записи [Posts], а на Страницы [Pages] и даже, вроде, на подстраницы, что тоже в некоторых случаях весьма вкусно. Нужно лишь чуть подредактировать код скрипта, если кому нужно – спрашивайте, расскажу.
И еще пара слов об Excel [Calc в моем случае]. Если вам нужно объединить несколько колонок в одну, используем стандартную функцию:
=A6 &A7 &A8 &A9
Этим мы объединяем ячейки в одну [речь о тексте
].
Если нужно добавить знаки препинания, делаем так:
=A6 &”,” & A7 &”,” & A82
Такая же штука с пробелами, вот. Но теперь появилась другая проблема – содержимое этой [собирающей] ячейки отображается нам как надо, а на деле – это формулы, что не есть хорошо для нашего файла. Поэтому мы копируем весь столбец – те данные которые нам нужны – вставляем его в Word [Writer] —> копируем эти данные и вставляем обратно, в столбец Excel [Calc] и получаем то, что нам нужно в том самом столбце, ага.
Ну и скрин того [данные замазал], как должен выглядеть файл в Notepad++ [кликабельно]:
На даты не смотрите – старый [почти что базовый] вариант, когда еще не допер как их победить. Усё. Добавляем, спрашиваем, интересуемся.
P.S. Помните писал про Google Wave? Так вот, хороший человек любезно поделился инвайтом, за что я его оч. благодарю. Кстати, вы также можете успеть получить инвайт на Google Wave





25 Responses to Импорт в WordPress. Из .csv ^^
вова 18.11.2009
все это конечно интересно но возникает вопрос
это только эксела косается или и других таблиц тоже
Темыч 18.11.2009
каких именно других?
скрипт создан для .csv файла, но Excel много чего открывает и много в чем сохраняет [в т.ч. и в .csv]. Также как и Calc.
Темыч 18.11.2009
Забыл, если открывать редактированный/созданный файл таблиц через Notepad++ иногда могут попадаться кавычки – “” – “wp_content”, “wp_tags” и т.д. Все кавычки [насчет текстов внутри столбца wp_content ничего сказать не могу] нужно убрать, они ни к чему.
|значение|значение|значение|значение|значение|
без кавычек.
Жук 18.11.2009
Ошибаешься, Темыч
Могу тебе как программер сказать. Кавычки нужны, если у вас внутри значения встречается разделитель. (например, |)
Кстати, excel умеет и с другими типами csv работать (разные варианты разделителей, например – ; ). А вордпресс их поймет? Ты не пробовал?
Темыч 18.11.2009
Я-то не программер, ты же знаешь
Примерно понял, да. Ну знач проверить, встречается ли у нас внутри значений разделитель [например |] и, если нет, не использовать кавычки. Если да, удалить нафиг этот странный фрагмент значения и не использовать кавычки
Эксел распознает, я в курсе. У меня как раз первоначальный вариант .csv был с разделителем “;”. WordPress тут не особо при чем как я понял, дело в плагине – он требует разделителя “|”
Темыч 18.11.2009
Поэтому я заменял “;” на “|”, ага ^_^
Барри Английский ЖЖ 18.11.2009
хехе, типо тему палити, автоматизированный контент))
Вот Сео и Бульба такое палит в своих видеокастах, что мало не покажется. Как на Дупале на одном разместить кучу(сайтов) с отдельными доменами, экономя и рессурсы сервера и место на диске:))
Ну да ладно, се равно замазанный код выглидит ужастно((
Темыч 18.11.2009
Ну не то, что бы прям так… Просто сам столкнулся [скажем так], а прочитавший потратит меньше времени на все эти тонкости. Ну и в карму мне добавит, не все ж о мотивации писать
Вчерашний подкаст Seonet.by уже посмотрел, да. А на данный момент я не имею возможности ‘палить такое’.)
А Малевич бы оценил, мне кажется, не? =)
Seodaiter 18.11.2009
Не понял, а как это работает и для чего это вообще?
Темыч 18.11.2009
Seodaiter, смотри ниже, Вит все правильно написал.
Remy 18.11.2009
Спасибо, за линк. Скоро будут находить меня по запросу хороший человек =) что приятно =)))
Кстати если нужен будет импорт для WP другой хитрый могу посоветовать человека, сам заказывал у него.
Темыч 18.11.2009
Пожалуйста)
Ок, обращусь по мере поступления идей импорта в WP
Вит 18.11.2009
Seodaiter, это своего рода автоматическое наполнение блога. Полезно, когда нужно импортировать сразу несколько материалов.
зы за пост спасибо, как-нить на досуге досконально изучим.
Темыч 19.11.2009
Пожалуйста. Не откладывай на досуг то, что можно замутить уже сейчас
Ation 20.11.2009
На ДЛЕ тоде есть такой аналог.
Темыч 20.11.2009
Не знаю, не работал. Количество дыр иногда смущает ^^
Билли 24.11.2009
Темыч, а есть что нибудь для подобного наполнения, только не таблицы, а контент. Например из html или txt?
Заранее благодарен за ответ.
Остап 29.12.2009
Круто. Надо разбираться. Жаль нет экспорта в вордпресс, тогда можно бы и формат посмотреть. Все равно спасибо.
tom1501 06.03.2010
по описанию – как раз то, что мне нужно. спасибо за статью – коротко и ясно.
вопрос такой: html форматирование поддерживает?
и еще – выложите пожалуйста скрипт куда-нить. ссылка к сожалению не работает.
Темыч 08.03.2010
Пожалуйста.
Не знаю, попробуйте, потом расскажете.
Выложил единственный сохранившийся у меня экземпляр, должно работать – http://7bloggers.ru/csv.rar
tom1501 08.03.2010
Спасибо )))
буду пробовать. позже отпишусь.
Темыч 08.03.2010
Ок, было бы неплохо.
A1an 20.03.2010
Пробывал тоже самое делать, но ничего хорошего не получилось, хоть и старался
NnpctO 14.11.2010
Почему в итоге получаются закорючки не понятно какой кодировки?
slava22 10.09.2011
у меня тоже что то с кодировкой