Поддержка Проблемы и решения Массовое удаления части текста из названия

  • Приветствую. Не подскажите каким образом можно удалить из названий всех публикаций часть текста? Два последние слова, публикаций просто тысячи, поэтмоу в ручную не вариант… может есть способ? 2 одинаковых слова, расположены в конце каждого наименования публикаций.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Примитивный и простой вариант sypex dumper или phpnyadmin, делаете дамп в текстовом виде, и прогрммой типа textreplace заменяете или удаляете всё что вам нужно.
    Или запросами в базу.

    Вероятно поможет такой код (добавить в файл functions.php активной Темы):

    function wikicms_part_title($src) {
    	return str_replace("sample text", '', $src);
    }
    add_filter('the_title', 'wikicms_part_title');

    Исходно: Заголовки и у всех содержится (в любом месте) «sample text»
    На выходе: Заголовок без этих слов
    Вместо sample text вставьте свои слова
    UPD Потестил, страница отдается быстрее :))

    wikicms
    Это слишком :))

    Первый указанный код только прячет часть заголовка, я тут еще набросал, чтобы сразу заменить у всех постов и записать в БД, также добавить в файл functions.php активной Темы:

    function wikicms_change_title()
    {
    $my_post = get_posts(); //получаем посты, еще можно выбрать нужные через аргументы
    foreach ($my_post as $post) :
    {
        $title = str_replace("sample text", '', $post->post_title); //подмена
        $new_post = array();
        $new_post['ID'] = $post->ID; //получаем ID
        $new_post['post_title'] = $title; //обновляем тайтл
        $new_post['post_name'] = $title; //обновляем слаг
        wp_update_post($new_post); //обновляем БД
    }
    endforeach;
    }
    wikicms_change_title(); //вызываем функцию

    По-крайней мере на локалке идет на ура, обновил и слаги и заголовки, если слаги не надо, то удалите соответствующую строчку. После обновления удалить этот кусок кода.
    =======
    Кусок кода идет «как есть», без каких либо гарантий и обязательств :))

    Вот это да! Большое спасибо за отзывчивость! Не ожидал что так быстро советы поступят) буду пробывать.

    Я просто скачал дамп и сделал масштабную замену в обычном блокноте 🙂

    А вот теперь такой вопрос, это действие уже так просто не выполнишь… Так как в каждом названии текст разный. У меня имена такого вида в публикациях: «Имя на русском/Имя на английском» возможно ли как-нибудь масштабно удалить из всех публикаций в дампе имена на английском? То есть то что идёт после символа «/» (с ним включительно).

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Массовое удаления части текста из названия» закрыта для новых ответов.