Мы изменили иерархию сайтов для нескольких наших клиентов WordPress, и одна из вещей, которые мы пытаемся сделать, — это эффективно организовать информацию. Для этого нам часто нужно создать главную страницу и включить меню, которое автоматически перечисляет страницы под ней. Список дочерних страниц или подстраниц.
К сожалению, в WordPress нет такой возможности или функции, поэтому мы разработали шорткод для добавления на веб-сайт клиента. Вот как вы можете использовать шорткод со всеми его переменными, заполненными в записи или на странице WordPress:
[listchildpages ifempty="No child pages found" order="ASC" orderby="title" ulclass="custom-ul-class" liclass="custom-li-class" aclass="custom-a-class" displayimage="yes" align="aligncenter"]
Распределение использования:
ifempty="No child pages found"
: Этот текст будет отображаться, если дочерние страницы недоступны.order="ASC"
: Сортирует список дочерних страниц в порядке возрастания.orderby="title"
: сортировка дочерних страниц по имени.ulclass="custom-ul-class"
: применяет класс CSS «custom-ul-class» к<ul>
элемент списка.liclass="custom-li-class"
: применяет к каждому CSS-класс «custom-li-class».<li>
элемент в списке.aclass="custom-a-class"
: применяет к каждому CSS-класс custom-a-class.<a>
(ссылка) элемент в списке.displayimage="yes"
: включает в себя избранное изображение каждой дочерней страницы в списке.align="aligncenter"
: При этом избранные изображения выравниваются по центру.
Вставьте этот короткий код непосредственно в область содержимого записи или страницы WordPress, где вы хотите отобразить список дочерних страниц. Не забудьте настроить значения каждого атрибута в соответствии с дизайном и структурой вашего сайта WordPress.
Кроме того, если вы хотите небольшой отрывок при описании каждой страницы плагин включает фрагменты на страницах, чтобы вы могли редактировать это содержимое в настройках страницы.
Список шорткодов дочерних страниц
function add_shortcode_listchildpages($atts, $content = "") {
global $post;
$string = '';
$atts = shortcode_atts(array(
'ifempty' => '<p>No Records</p>',
'order' => 'DESC',
'orderby' => 'publish_date',
'ulclass' => '',
'liclass' => '',
'aclass' => '',
'displayimage' => 'no',
'align' => 'alignleft'
), $atts, 'listchildpages');
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'orderby' => $atts['orderby'],
'order' => $atts['order']
);
$parent = new WP_Query($args);
if ($parent->have_posts()) {
$string .= $content.'<ul class="'.$atts['ulclass'].'">';
while ($parent->have_posts()) : $parent->the_post();
$string .= '<li class="'.$atts['liclass'].'">';
$true = array("y", "yes", "t", "true");
$showimage = strtolower($atts['displayimage']);
if (in_array($showimage, $true)) {
if (has_post_thumbnail($post->ID)) {
$image_attributes = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail');
$string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">';
$string .= '<img src="'.$image_attributes[0].'" width="'.$image_attributes[1].'" height="'.$image_attributes[2].'" alt="'.get_the_title().'" class="'.$atts['align'].'" /></a>';
}
}
$string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a>';
if (has_excerpt($post->ID)) {
$string .= ' - '.get_the_excerpt();
}
$string .= '</li>';
endwhile;
$string .= '</ul>';
} else {
$string = $atts['ifempty'];
}
wp_reset_postdata();
return $string;
}
add_shortcode('listchildpages', 'add_shortcode_listchildpages');
Функция add_shortcode_listchildpages
добавляет собственный шорткод
No Records
, который вы можете использовать в сообщениях или страницах WordPress для отображения списка дочерних страниц. Ниже приведено описание того, что делает код.
- Глобальная почтовая переменная: Функция начинается с объявления глобальной переменной.
$post
используется для доступа к информации о текущей публикации или странице в WordPress. - Атрибуты шорткода:
shortcode_atts
Функция устанавливает значения по умолчанию для атрибутов шорткода. Пользователи могут отменить их, введя короткий код. Атрибуты включают в себя:ifempty
: сообщение, отображаемое при отсутствии дочерних страниц.order
: Порядок дочерних страниц (ASC или DESC).orderby
: критерии упорядочения дочерних страниц (например, публикация_дата).ulclass
: класс CSS<ul>
элемент.liclass
: класс CSS<li>
элементы.aclass
: класс CSS<a>
(якорные) элементы.displayimage
: или показать избранное изображение дочерних страниц.align
: Выравнивание предлагаемого изображения.
- Просите аргументы: функция устанавливает
WP_Query
для получения всех дочерних страниц текущей страницы, упорядоченных по указанным атрибутам. - Создание списка:
- Если дочерние страницы найдены, функция создает неупорядоченный список HTML (
<ul>
), где каждая дочерняя страница представлена элементом списка (<li>
). - В каждом элементе списка функция проверяет, показывать ли избранное изображение на основе
displayimage
атрибут. - Функция также ссылается на каждую дочернюю страницу, используя
<a>
и, если имеется, добавляет фрагмент дочерней страницы.
- Если дочерние страницы найдены, функция создает неупорядоченный список HTML (
- Выходное сообщение или сообщение по умолчанию: если дочерних страниц нет, функция выводит указанное сообщение
ifempty
атрибут. - Сбросить данные сообщения:
wp_reset_postdata
функция сбрасывает запрос WordPress, предоставляя глобальный$post
объект восстанавливается в соответствии с исходным основным запросом. - Регистрация короткого кода: Окончательно,
add_shortcode
функциональные регистрыlistchildpages
в качестве нового короткого кода, связав его сadd_shortcode_listchildpages
функция, делающая ее доступной для использования в сообщениях и страницах.
Эта функция полезна для динамического отображения подстраниц на родительской странице, улучшения навигации и организации на сайте WordPress. Я бы порекомендовал добавить его в собственный плагин, если вы хотите добавить его на свой сайт WordPress. Или… вы можете скачать плагин, который я разместил.
Плагин шорткода списка дочерних страниц
Наконец-то я начал добавлять код в плагин, чтобы упростить его установку и использование, и Плагин шорткода списка дочерних страниц одобрено WordPress сегодня! Пожалуйста, загрузите и установите его — оставьте нам отзыв, если он вам нравится!