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

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

we love wordpress, да.

Тук.

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

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 ;-)

Схожие по теме записи, измышлизмы и посты:

25 комментариев

  1. вова | комментариев: 1
    18.11.2009, 02:19 | Ссылка

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

    • Темыч | комментариев: 813
      18.11.2009, 03:51 | Ссылка

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

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

  2. Темыч | комментариев: 813
    18.11.2009, 03:54 | Ссылка

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

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

    без кавычек.

    • Жук | комментариев: 312
      18.11.2009, 11:27 | Ссылка

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

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

      • Темыч | комментариев: 813
        18.11.2009, 12:03 | Ссылка

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

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

  3. Барри Английский ЖЖ | комментариев: 18
    18.11.2009, 07:43 | Ссылка

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

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

    • Темыч | комментариев: 813
      18.11.2009, 08:45 | Ссылка

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

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

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

  4. Seodaiter | комментариев: 21
    18.11.2009, 16:04 | Ссылка

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

  5. Remy | комментариев: 1
    18.11.2009, 22:20 | Ссылка

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

    • Темыч | комментариев: 813
      18.11.2009, 23:59 | Ссылка

      Пожалуйста)

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

  6. Вит | комментариев: 1
    18.11.2009, 22:48 | Ссылка

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

    • Темыч | комментариев: 813
      19.11.2009, 00:00 | Ссылка

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

  7. Ation | комментариев: 8
    20.11.2009, 11:58 | Ссылка

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

  8. Билли | комментариев: 2
    24.11.2009, 02:13 | Ссылка

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

  9. Остап | комментариев: 1
    29.12.2009, 21:35 | Ссылка

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

  10. tom1501 | комментариев: 2
    06.03.2010, 12:23 | Ссылка

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

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

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

  11. A1an | комментариев: 25
    20.03.2010, 19:10 | Ссылка

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

  12. NnpctO | комментариев: 2
    14.11.2010, 14:39 | Ссылка

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

  13. slava22 | комментариев: 2
    10.09.2011, 23:06 | Ссылка

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

Оставить комментарий

*
*

Вы можете использовать следующие HTML-тэги и атрибуты:  <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>