@html_student
Молодой и глупый.

Как в редакторе обернуть каждый абзац в div wordpress?

Вопрос такой, в редакторе классическом есть статья, так вот нужно чтоб каждый абзац оборачивался в div с классом pagging

На js такое получилось реализовать, но сильно подрагивает экран при подгрузке, получается сначала грузится без оберток редактор, а потом уже добавляет div обертки.

Может как то можно сделать через php чтоб не было этих поддергиваний?

На js это выглядит как то так
spoiler

var $ = jQuery.noConflict();
(function ($) {

    var template_next =
        {
            content_selector: '.article__content',

            run: function () {
                var this_class = this;

                if (false === $("body").hasClass('no-content-change')) {
                    this_class.normalize_content(this_class.content_selector);
                }


            },

            wrap: function (type, i) {
                if (type === 'padding') {
                    return "<div class='article__text wrap__padding  article__text_column article__holder row-" + i + "'></div>"
                }
                return "<div class='wrap__full wrap__common row-" + i + "'></div>"
            },
            normalize_content: function (sel) {
                var this_class = this;

                $(sel).children('*').not("style,.fotorama--hidden").each(function (i) {

                    if ($(this).hasClass('gallery__template')) {

                        if ($(this).find('.block__gallery-slider').hasClass('no-full-width')) {
                            $(this).wrap(this_class.wrap('padding', i));
                        } else {
                            $(this).wrap(this_class.wrap('full', i));
                        }

                    } else if (
                        $(this).hasClass('width-full') ||
                        $(this).hasClass('full-image') ||
                        $(this).hasClass('full__width') ||
                        $(this).hasClass('full-width') ||
                        $(this).get(0).tagName === "FIGURE"
                    ) {

                        if ($(this).get(0).tagName === "FIGURE") {
                            $(this).removeAttr('style');
                        }

                        $(this).wrap(this_class.wrap('full', i))

                    } else {

                        if ($(this).get(0).tagName === 'P' && $(this).text().length === 1) {
                            $(this).addClass('paragraph__space');
                        }

                        $(this).wrap(this_class.wrap('padding', i));
                    }

                });

                $(sel).removeClass('padding');
                $(window).trigger('tempalte_singular_normalize_content');
            }  ,
        };


    $(document).ready(function () {
        template_next.run();
    });


})(jQuery);

  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Как вариант:
- разбить post_content по переносам строк на массив
- массив перебрать и обернуть получившиеся строки в нужный div
- собираем обратно в стоку

Не факт, что по переносам строк будет работать, классику давно не юзал.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы