Как разделить текст записи в wordpress на отдельные блоки?

Ссылка скопирована
1 ответ

Как разделить текст записи в wordpress на отдельные блоки, чтобы он не сплошняком шел, а в желаемом месте можно было сделать визуальное разделение на "отдельные блоки". На скрине пример.

Как разделить текст записи в wordpress на отдельные блоки?

Дополнительно:

На что именно на скрине смотреть? Что Вы считаете "разными блоками" текста?
Если табличку с "Разработчик"->"Skype" - то это лучше сделать таблицей, а ещё лучше - мета-полями
Если список с логотипами винды - то это, собственно, список

Ответы:

Работайте с переменной, содержащей контент.
И с ней уже делайте, что хотите.

Как вариант, что-то типа такого:

$content = striptags(get_the_content()); echo '<div class="class1">'.mb_substr($content, 0, 155).'</div>'; echo '<div class="class2">'.mb_substr($content, 156).'</div>';

$content = striptags(get_the_content()); echo '<div class="class1">'.mb_substr($content, 0, 155).'</div>'; echo '<div class="class2">'.mb_substr($content, 156).'</div>';

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Если нужно просто визуально разбить текст записи на блоки, не режьте контент по количеству символов. Это хрупко: можно разрезать слово, HTML-тег, shortcode или блок Gutenberg. Нормальный путь зависит от того, что именно является блоком.

  • Если это разные смысловые части текста, используйте блоки Gutenberg: абзац, группа, колонки, таблица, список.
  • Если это повторяемые поля вроде «Разработчик», «Версия», «Платформа», лучше хранить их в произвольных полях или ACF и выводить шаблоном.
  • Если нужно автоматически делить старый текст, безопаснее ставить явный разделитель, например <!--more--> или свой маркер.

Пример с разделителем в контенте:

$content = apply_filters('the_content', get_the_content());
$parts = explode('&lt;!--split--&gt;', $content);
 
foreach ($parts as $index =&gt; $part) {
    echo '&lt;section class="entry-block entry-block-' . esc_attr($index + 1) . '"&gt;';
    echo $part;
    echo '&lt;/section&gt;';
}

$content = apply_filters('the_content', get_the_content()); $parts = explode('&lt;!--split--&gt;', $content); foreach ($parts as $index =&gt; $part) { echo '&lt;section class="entry-block entry-block-' . esc_attr($index + 1) . '"&gt;'; echo $part; echo '&lt;/section&gt;'; }

В редакторе тогда ставите в нужном месте <!--split-->. Для новых записей лучше вообще не парсить текст, а сразу делать структуру блоками или полями. Например характеристики товара/сервиса хранить отдельно, а описание оставлять обычным контентом.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно