Поддержка Проблемы и решения Редактор WordPress автодобавляет код

  • Всем привет. Столкнулся с проблемой, когда WordPress дублирует при сохранении часть моего html-кода.
    Захожу в Записи, добавляю к
    Изначально код такой:

    <div class="kp-space">
        <a href="https://steelart.org/wp-content/themes/awaken/files/action-steelart-19800.pdf" class="kp-block">
            <div class="kp-block__img"></div>
            <div class="kp-block__title">Скачать предложение</div>
        </a>
    </div>

    При сохранении страницы код автоматически форматируется до такого состояния:

    <div class="kp-space">
        <a href="https://steelart.org/wp-content/themes/awaken/files/action-steelart-19800.pdf" class="kp-block">
    <div class="kp-block__img"></div>
    <div class="kp-block__title">Скачать предложение</div>
    </a><a href="https://steelart.org/wp-content/themes/awaken/files/action-steelart-19800.pdf" class="kp-block">    </a>
    
    </div>

    Версия WordPress 5.2.2
    1.Пробовал создать новую запись — тоже самое.
    2.Пробовал сохранить этот код в разделе «виджеты» -> «html-код». В этом случаем WordPress не дублирует код, сохраняет как положено.
    3.Пробовал с нижеуказанными настройками в functions.php сохраняться и без них — безрезультатно. Во втором случает свой html-код добавлял между [raw]…[/raw].

    // Удаляет автоформатирование тега p
    /*remove_filter( 'the_content', 'wpautop' );
    remove_filter( 'the_excerpt', 'wpautop' );
    remove_filter( 'comment_text', 'wpautop' );
    */ 

    /* удаляет автоформатирвоание между [raw] */
    /*function wpschool_formatter( $content ) {
    $new_content = »;
    $pattern_full = ‘{(\[raw\].*?\[/raw\])}is’;
    $pattern_contents = ‘{\[raw\](.*?)\[/raw\]}is’;
    $pieces = preg_split( $pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE );

    foreach ( $pieces as $piece ) {
    if ( preg_match( $pattern_contents, $piece, $matches ) ) {
    $new_content .= $matches[1];
    } else {
    $new_content .= wptexturize( wpautop( $piece ) );
    }
    }
    return $new_content;
    }

    remove_filter( ‘the_content’, ‘wpautop’ );
    remove_filter( ‘the_content’, ‘wptexturize’ );
    add_filter( ‘the_content’, ‘wpschool_formatter’, 99 );
    */

    Буду рад любым комментариям и советам по теме. Спасибо.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • У кого версия WordPress 4.x можете проверить, сохраниться ли у вас корректно? Почему-то подозрения на 5-ю версию.

    P.S. если удалить div-блоки из содержания ссылки, то код не дублируется при сохранении.

    • Ответ изменён 4 года, 9 месяцев назад пользователем Derzenochek.

    Проблему решил: отключил редактор Гуттенберг и автоформатирование тега p

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Редактор WordPress автодобавляет код» закрыта для новых ответов.