Домой / HELP / Как разделить контент на две колонки wordpress

Как разделить контент на две колонки wordpress

WordPress замечательная CMS, однако для реализации некоторых функций в вашей теме, иногда требуется нестандартное мышление. Обычно текст записи или страницы, выводится в шаблоне, с помощью одиночного вызова соответствующей функции:

the_content(args);

Но, что если вам нужно разделить контент на несколько блоков? Это может потребоваться, для многоколоночной темы, или, имеющей несколько разделов на одной странице. В wordpress есть функция get_the_content(), для получения контента в виде PHP-переменной, но как же определить где именно располагаются разделы?

Существуют различные решения, но все они сводятся к следующему:

  1. Разбивание контента HTML-тэгами, такими например, как заголовок h2. К сожалению, этот метод предполагает наличие минимальных знаний HTML у автора, к тому же он не очень гибкий – вам нельзя будет использовать два заголовка в одной колонке.
  2. Использование шорткода WordPress. Это более удобный способ, но все же, он накладывает определенные обязательства на редактора статьи — запоминать и правильно использовать необходимый код.

WordPress-тэг <!—more—>, может предложить гораздо лучшее решение. Обычно, он используется для разбиения длинной статьи на две части, однако не все темы используют эту возможность, к тому же, по умолчанию, он работает только для записей (не для страниц). Использование тега <—more—>, имеет ряд преимуществ:

  • кнопку “more”, которая доступна как в HTML, так и в визуальном редакторе.
  • разделы можно располагать в любом месте текста.
  • принцип действия очень простой, процесс разделения контента понятен даже не опытным пользователям.

Для того, чтобы использовать тег more, для разделения статьи, вам понадобится файл functions.php, расположенный в вашей теме. Просто откройте его, и вставьте следующий код.

Теперь, вам нужно найти файлы темы, содержащие вызов функции the_content(), расположенный внутри цикла. Как правило, это файлы single.php и page.php, которые используются для отображения одиночной записи и страницы. Однако, кроме этих файлов, the_content() также используется в файлах index.phparchive.php и search.php, для вывода списка записей, поэтому будьте осторжны, с внесением изменений в шаблон.

После того, как найдете нужный код, закомментируйте строку вызова функции the_content(), и вызовите функцию split_content().  Она вернет контент в виде массива,  где каждый элемент представляет собой одиночный блок контента, разделенный тегом <--more-->$content[0]$content[1]$content[2] … и так далее. После этого, расположить блоки внутри нужной HTML-разметки не составит труда.

Альтернативой может служить следующий метод: в single.php и/или page.php, обязательно внутри Цикла (Loop), сначала выводим первую часть — тизер — вот таким образом:

Надо заметить, что этот метод позволяет поменять порядок вывода половинок контента (WP2.5 — на свежих проверить) .

Про Александр

Здравствуйте, меня зовут Александр Мороз. Профессионально занимаюсь созданием сайтов . Выражаюсь на диалектах PHP, SQL, JavaScript, HTML, CSS, XML, jQuery. Иногда и матом в особо сложных случаях :)

Проверьте также

WP_Query(), описание класса, параметры

Про класс WP_Query можно сказать в двух словах — нужен для вывода постов, например: из …

Добавить комментарий

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