n-wp.ru — блог о WordPress

Массовое редактирование записей

Есть каталог машин. В нём все машины имеют свои уникальные номера, не по порядку. Раньше Я записывал их в начало заголовка (например, «92. Toyota Ist 2002 год»), но теперь пришла необходимость убрать номер из заголовка и вставить его в дополнительное поле.
Можно сделать это без ручного редактирования каждой записи? А то Я этот каталог уже дважды перебирал, а там около 80 записей!

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

      • Если да, то тут никак, кроме прямого редактирования, не решить проблему. Однако можно упростить редактирование, если воспользоваться плагинами наподобие Search and Replace. Он позволяет напрямую в базе данных искать и заменять текст, не редактируя каждый пост.

        • Удаляет из заголовка записей номер вместе с точкой и пробелом и вставляет его записям дополнительным полем с именем «name».

          • То есть скрипт ищет в заголовке цифры, удаляет их оттуда и переносит в произвольное поле. А это поле точно называется name? Или number?

      • Для года:

        Стоит сделать бэкап и в этот раз :)

        • Н-да, фрагмент опять отобразился некорректно (ниже оставил комментарий по этому поводу, он пока в модерации).

          Полный фрагмент: http://wordpress.pastebin.com/YiN1r0BP

          Вероятно, нужно было вставлять без <?php и ?>. Но даже в этом случае некоторые детали пропадают (например, во фрагменте, который Grawl вставил ниже, отсутствуют теги <br />).

          • На счет тегов <br/> — приведите пример кода. У меня вроде нормально отображается все.
            По поводу остального кода — есть баг с отображением вот этого куска кода: <?php — добавляется лишний пробел между < и ?php. Чтобы этого не происходило, < можно вставлять так:
            [img]http://dl.dropbox.com/u/2027201/Images/tiaurus-2011-01-23_093222.png[/img]

          • Понятно, спасибо. Пример можно посмотреть по исходной ссылке на Pastebin. Наверное, <br /> тоже нужно было вставлять через &lt; и &gt;. Это терпимо, хотя и не очень удобно.

  • Вижу, что tiaurus волнуется за сохранность пригодившегося скрипта. Думаю, неплохо будет увековечить его здесь:

  • Не по теме — придумал решение проблемы с тегами внутри кода (для <?php, <br /> и любых других) при использовании SyntaxHighlighterPro. Можно добавить фрагмент в functions.php темы:

    /is’, $comment_text, $matches);
    if ( !empty($matches) )
    $comment_text = str_replace($matches[1], esc_html($matches[1]), $comment_text);
    return $comment_text;
    }
    add_filter(‘comment_text’, ‘esc_html_for_php’, 0);