Импорт в WordPress. Из .csv ^^

Спонсор поста: дешево? в топ? cheaptop.ru — регистрация в каталогах сайтов и статей.

we love wordpress, да.

Тук.

Тема сегодняшнего урока Благодаря тому, что мне посчастливилось озадачиться автоматическим наполнением сайта с большого экселовского файла, сегодня поговорим об импорте данных из .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

rows

Только строчка 1-я, а не 24-я.

Упорядочиваем наши *данные* в соответствии с этими столбиками. С тайтлами все ясно, а с датами небольшие проблемы. Для базового формата даты, а именно ‘F j, Y’ как в настройках админки/темы я использовал такой формат дат [Изображение из Notepad++]:

wp_post_date

Эти записи выводятся по датам: 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], не забывайте. На контент вроде лимитов быть не должно [кликабельно]:

content_no_limit

Есть только лимит на размер загружаемого файла. 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++ [кликабельно]:

scr

На даты не смотрите — старый [почти что базовый] вариант, когда еще не допер как их победить. Усё. Добавляем, спрашиваем, интересуемся.

P.S. Помните писал про Google Wave? Так вот, хороший человек любезно поделился инвайтом, за что я его оч. благодарю. Кстати, вы также можете успеть получить инвайт на Google Wave 😉

28 Ответ(а)
  1. вова Ответ для вова

    все это конечно интересно но возникает вопрос
    это только эксела косается или и других таблиц тоже

    • Темыч Ответ для Темыч

      каких именно других?

      скрипт создан для .csv файла, но Excel много чего открывает и много в чем сохраняет [в т.ч. и в .csv]. Также как и Calc.

  2. Темыч Ответ для Темыч

    Забыл, если открывать редактированный/созданный файл таблиц через Notepad++ иногда могут попадаться кавычки — «» — «wp_content», «wp_tags» и т.д. Все кавычки [насчет текстов внутри столбца wp_content ничего сказать не могу] нужно убрать, они ни к чему.

    |значение|значение|значение|значение|значение|

    без кавычек.

    • Жук Ответ для Жук

      Ошибаешься, Темыч 🙂
      Могу тебе как программер сказать. Кавычки нужны, если у вас внутри значения встречается разделитель. (например, |)

      Кстати, excel умеет и с другими типами csv работать (разные варианты разделителей, например — ; ). А вордпресс их поймет? Ты не пробовал?

      • Темыч Ответ для Темыч

        Я-то не программер, ты же знаешь 😉
        Примерно понял, да. Ну знач проверить, встречается ли у нас внутри значений разделитель [например |] и, если нет, не использовать кавычки. Если да, удалить нафиг этот странный фрагмент значения и не использовать кавычки 😛

        Эксел распознает, я в курсе. У меня как раз первоначальный вариант .csv был с разделителем «;». WordPress тут не особо при чем как я понял, дело в плагине — он требует разделителя «|»

        • Темыч Ответ для Темыч

          Поэтому я заменял «;» на «|», ага ^_^

  3. Барри Английский ЖЖ Ответ для Барри

    хехе, типо тему палити, автоматизированный контент))
    Вот Сео и Бульба такое палит в своих видеокастах, что мало не покажется. Как на Дупале на одном разместить кучу(сайтов) с отдельными доменами, экономя и рессурсы сервера и место на диске:))

    Ну да ладно, се равно замазанный код выглидит ужастно((

    • Темыч Ответ для Темыч

      Ну не то, что бы прям так… Просто сам столкнулся [скажем так], а прочитавший потратит меньше времени на все эти тонкости. Ну и в карму мне добавит, не все ж о мотивации писать 😀

      Вчерашний подкаст Seonet.by уже посмотрел, да. А на данный момент я не имею возможности ‘палить такое’.)

      А Малевич бы оценил, мне кажется, не? =)

  4. Seodaiter Ответ для Seodaiter

    Не понял, а как это работает и для чего это вообще?

    • Темыч Ответ для Темыч

      Seodaiter, смотри ниже, Вит все правильно написал.

  5. Remy Ответ для Remy

    Спасибо, за линк. Скоро будут находить меня по запросу хороший человек =) что приятно =)))
    Кстати если нужен будет импорт для WP другой хитрый могу посоветовать человека, сам заказывал у него.

    • Темыч Ответ для Темыч

      Пожалуйста)

      Ок, обращусь по мере поступления идей импорта в WP 😉

  6. Вит Ответ для Вит

    Seodaiter, это своего рода автоматическое наполнение блога. Полезно, когда нужно импортировать сразу несколько материалов.
    зы за пост спасибо, как-нить на досуге досконально изучим.

    • Темыч Ответ для Темыч

      Пожалуйста. Не откладывай на досуг то, что можно замутить уже сейчас 😉

  7. Ation Ответ для Ation

    На ДЛЕ тоде есть такой аналог.

    • Темыч Ответ для Темыч

      Не знаю, не работал. Количество дыр иногда смущает ^^

  8. Билли Ответ для Билли

    Темыч, а есть что нибудь для подобного наполнения, только не таблицы, а контент. Например из html или txt?
    Заранее благодарен за ответ.

  9. Остап Ответ для Остап

    Круто. Надо разбираться. Жаль нет экспорта в вордпресс, тогда можно бы и формат посмотреть. Все равно спасибо.

  10. tom1501 Ответ для tom1501

    по описанию — как раз то, что мне нужно. спасибо за статью — коротко и ясно.

    вопрос такой: html форматирование поддерживает?

    и еще — выложите пожалуйста скрипт куда-нить. ссылка к сожалению не работает.

    • Темыч Ответ для Темыч

      Пожалуйста.

      Не знаю, попробуйте, потом расскажете.

      Выложил единственный сохранившийся у меня экземпляр, должно работать — https://7bloggers.ru/csv.rar

      • tom1501 Ответ для tom1501

        Спасибо )))

        буду пробовать. позже отпишусь.

        • Темыч Ответ для Темыч

          Ок, было бы неплохо.

  11. A1an Ответ для A1an

    Пробывал тоже самое делать, но ничего хорошего не получилось, хоть и старался

  12. NnpctO Ответ для NnpctO

    Почему в итоге получаются закорючки не понятно какой кодировки?

  13. slava22 Ответ для slava22

    у меня тоже что то с кодировкой

  14. Ксения Ответ для Ксения

    Доброго)
    Спасибо большое за пост, по описанию это именно то, что нужно. Только такой вопрос, Вы пишете: «Также можно настроить заливку не в Записи [Posts], а на Страницы [Pages] и даже, вроде, на подстраницы». А с произвольными типами контента (созданными пользователем) работает?

    И второй вопрос по поводу картинок. Так как планируется наполнять интернет-магазин, то помимо прочих данных есть картинки (фото товаров). Можно их как-нибудь залить таким образом (желательно как миниатюры)?

  15. Максим Ответ для Максим

    А где скачать?)

  16. Анатолий Ответ для Анатолий

    Здравствуйте!

    Извините, может у меня с просоня iq сломался, но я что-то не понял откуда скрипт-то скачать? Как он хоть называется?
    Извините.

Добавить комментарий

Ваш e-mail не будет опубликован.