foxayb
@foxayb
newbie

Как заменить контент для определённого раздела wordpress?

В вордпрессе есть разделы "Записи", есть "Страницы", а у меня ещё присутствует раздел "Видео", для которого отведён свой контент. Задача: для этого раздела заменить текст на синонимы. Особое желание в том, чтобы при публикации записи - текст заменялся.

В гуглах добрался до такого кода:
function replacer($text = '') {
        $text = str_replace(array("‘", "’", "′"), "'", $text);
        $text = str_replace(array("“", "”", "″", "«", "»", "»", "«", "»", "«"), """, $text);

        return $text;

но:
1. Он, как я понимаю, меняет текст везде на сайте.
2. Насколько это правильно использовать такой код?

Также, я нашёл плагин "Better Search Replace". Судя по всему он уже обращается к базе данных, но процедуру по замене придётся проделывать каждый раз в ручную. Подскажите, как правильно подойти к решению данной задачи. Спасибо
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Возможно, попробовать как-нибудь так:
add_filter( 'wp_insert_post_data' , 'modify_post_content' , 99 ); 

function modify_post_content( $data )
{
    if($data['post_type'] == 'video') {
        $data['post_content'] = str_replace('a', 'b', $data['post_content']);
    }
    return $data;
}


$data['post_type'] == 'video' — замените на название своего типа записей.
Описание wp_insert_post_data
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы