Спонсор поста: дешево? в топ? cheaptop.ru — регистрация в каталогах сайтов и статей.
Тук.
Тема сегодняшнего урока Благодаря тому, что мне посчастливилось озадачиться автоматическим наполнением сайта с большого экселовского файла, сегодня поговорим об импорте данных из .csv в WordPress. Не всегда ж синонимайзить, можно и в других местах уникальный контент поискать 😉 На этом тонкий намек окончен и мы приступаем к действиям. Кстати, статья пригодится тем, кто имеет интернет магазин 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 😉
вова 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
Пожалуйста.
Не знаю, попробуйте, потом расскажете.
Выложил единственный сохранившийся у меня экземпляр, должно работать — https://7bloggers.ru/csv.rar
tom1501 08.03.2010
Спасибо )))
буду пробовать. позже отпишусь.
Темыч 08.03.2010
Ок, было бы неплохо.
A1an 20.03.2010
Пробывал тоже самое делать, но ничего хорошего не получилось, хоть и старался
NnpctO 14.11.2010
Почему в итоге получаются закорючки не понятно какой кодировки?
slava22 10.09.2011
у меня тоже что то с кодировкой
Ксения 29.05.2013
Доброго)
Спасибо большое за пост, по описанию это именно то, что нужно. Только такой вопрос, Вы пишете: «Также можно настроить заливку не в Записи [Posts], а на Страницы [Pages] и даже, вроде, на подстраницы». А с произвольными типами контента (созданными пользователем) работает?
И второй вопрос по поводу картинок. Так как планируется наполнять интернет-магазин, то помимо прочих данных есть картинки (фото товаров). Можно их как-нибудь залить таким образом (желательно как миниатюры)?
Максим 06.06.2013
А где скачать?)
Анатолий 26.05.2015
Здравствуйте!
Извините, может у меня с просоня iq сломался, но я что-то не понял откуда скрипт-то скачать? Как он хоть называется?
Извините.