/** * Returns pagination HTML * for the currently * active loop * * @param array|string $args * * @return string */ public static function get_pagination($args = array()) { $args = wp_parse_args($args, array('prev_next' => false)); $pagination_items = array_filter(self::get_pagination_arr($args), function ($item) { return false !== $item['text']; }); if (empty($pagination_items)) { return ''; } ob_start(); ?> <nav class="pagination"> <ul class="pagination__list"> <?php foreach ($pagination_items as $item) { ?> <li class="pagination__list-item"> <?php $classes = 'pagination__item'; if ('page' === $item['type']) { $classes .= " pagination__item--{$item['type']}"; } $tag = 'span'; $attrs = array('class' => $classes); if (false !== $item['link'] && '#' !== $item['link']) { $tag = 'a'; $attrs['href'] = $item['link']; } MOZ_Html::element($tag, $attrs, $item['text']); ?> </li> <?php } ?> </ul> </nav> <?php return ob_get_clean(); }
/** * Return the breadcrumbs HTML * based on the given menu * location * * @param string $theme_location * @param array $options * * @return string */ public static function get_breadcrumbs($theme_location = 'primary', $options = array()) { $breadcrumbs_items = self::get_breadcrumbs_arr($theme_location, $options); if (!$breadcrumbs_items || empty($breadcrumbs_items)) { return ''; } ob_start(); ?> <nav class="breadcrumbs"> <ul class="breadcrumbs__list"> <?php foreach ($breadcrumbs_items as $item) { ?> <li class="breadcrumbs__list-item"> <?php $classes = 'breadcrumbs__item'; if ($item['current']) { $classes .= ' breadcrumbs__item--current'; } $tag = 'span'; $attrs = array('class' => $classes); if (false !== $item['link'] && '#' !== $item['link']) { $tag = 'a'; $attrs['href'] = $item['link']; } MOZ_Html::element($tag, $attrs, $item['text']); ?> </li> <?php } ?> </ul> </nav> <?php return ob_get_clean(); }