Суть такая. Клиент жалуется, что тупо и нагло тырят контент с его сайтов. Поглядев, что он там "набложил" я удивился, что километровые посты он выкладывал прямо-таки на главную. Я его застыдил, что мол во-первых поэтому и тырят, а во-вторых читать ведь неудобно. Говорю мол нужно делать маленькую "выдержку"(цитата), что мол поле есть такое специальное, а в последних версиях очень замечательно работает тег <!– more –>
Застыдить то застыдил его, но видимо сильно, потому как он теперь ноет и мучает меня. Говорит, что же мол делать? За 2 года столько записей накопилось, а все перелопачивать "долго и муторно".
В общем подумал я, поговорил с ним и порешили, что нужно как-то автоматом вставить тег <!– more –> после пятого предложения (если этого тега изначально не было). И кроме этого в каждую запись вставить рекламку ссылку на оригинал статьи (до тега more).
Порешили, но сделать что-то мне тяму не хватает. Итак как я это вижу:
делаю плаг, который будет работать по типу:
add_action('the_content', 'j_zamena');
работа его такая:
1. Проверяю есть ли в статье изначально тег <!– more –>, если есть, то выход, если нет, то дальше (это могу)
2. При помощи регулярок или разбиения по знакам препинания (не суть важно), нахожу начало 6-го предложения (это могу)
3. Вставляю в нужное место тег <!– more –> и прямую ссылку на эту статью (это могу)
4. Обновляю (перезаписываю обновлённый пост обратно в базу) (ВОТ ЭТО НЕ МОГУ) 🙂
5. Отдаю обновлённый (выход короче)
Вот и вопрос, как сделать 4-й пункт? (это хочу сделать, что плаг не шуровал постоянно одно и то же, а мог бы заканчивать работу на 1-м пункте)
p.s. если я везде всталю <!– more –>, RSS тоже будет до него отдаваться? Так?