wp_list_bookmarks() WP 2.1.0

Відобразить список посилань, зазначених на сторінці “Адміністрування > посилання”.

Цей тег шаблону дозволяє контролювати, які посилання виводити, як їх сортувати і т.д.

Примітка: wp_list_bookmarks() повністю замінює нині заборонені функції get_links_list() та get_links().

Хуки з функції

Повертає

null|Строку. або виводить на екран HTML код списку посилань.

Шаблон використання

<?php
$ args = array (
	'orderby' => 'name',
	'order' => 'ASC',
	'limit' => -1,
	'category' => '',
	'exclude_category' => '',
	'category_name' => '',
	'category_orderby' => 'name',
	'category_order' => 'ASC',
	'categorize' => 1,
	'title_li' => __('Bookmarks'),
	'class' => 'linkcat',
	'show_private' => 0 ,
	'include' => '',
	'exclude' => '',
	'before' => '<li>',
	'after' => '</li>',
	'category_before' => '<li id=%id class=%class>',
	'category_after' => '</li>' ,
	'title_before' => '<h2>',
	'title_after' => '</h2>',
	'link_before' => '',
	'link_after' => '',
	'between' => '',
	'show_images' => 1,
	'show_description' => 0,
	'show_name' => 0,
	'show_rating' => 0,
	'hide_invisible' => 1,
	'echo' => 1 ,
);

wp_list_bookmarks ($ args);
?>

Використання

<?php wp_list_bookmarks( $args ); ?>
$args
(рядок/масив)
Масив аргументів, відповідно до яких буде сформовано список (див.нижче).


За замовчуванням: параметри за замовчуванням

Аргументи параметра $args

категорія
(логічний)
Розділяти посилання за категоріями чи ні. За умовчанням “так” (true), тобто. якщо посилання мають 2 або більше категорій, то вони будуть візуально розбиті.


Типово: true
категорії
(рядок)
ID категорій (через кому), посилання яких потрібно показати. За промовчанням відображаються посилання з усіх категорій.


За замовчуванням: ”
exclude_category
(рядок)
ID категорій (через кому), посилання яких потрібно виключити з показу. За промовчанням виводяться всі посилання.


За замовчуванням: ”
category_name
(рядок)
Назву категорії посилання якої потрібно показати.


За замовчуванням: ”
category_before
(рядок)
Текст, який слід показати перед кожною категорією. За промовчанням: ‘<li id=”[category id]” class=”linkcat”>’.


За замовчуванням: ‘<li id=”[category id]” class=”linkcat”>’
category_after
(рядок)
Текст, який буде показано після кожної категорії. За замовчуванням: ‘</li>’.


За замовчуванням: ‘</li>’
class
(рядок)
Клас, який буде вказаний для кожної категорії посилань.


За замовчуванням: ‘linkcat’
category_orderby
(рядок)

Ключ за яким сортувати категорії посилань. Може бути:

  • name– сортувати за назвою – за умовчанням;
  • id– сортувати за ID категорій;
  • slug– за складом (альтернативною назвою);
  • count– за кількістю посилань у категорії;
  • term_group(не використовується).

За замовчуванням: ‘name’

category_order
(рядок)

Напрямок сортування, можливо:

  • ASC– по порядку;
  • DESC– в зворотньому напрямку.

За замовчуванням: ‘ASC’

title_li
(рядок)
Текст перед заголовком списку посилань. За промовчанням __(‘Bookmarks’). __(”) використовується для локалізації.

Використовується тільки, коли параметр “categorize” встановлений у false (інакше заголовками стануть назви категорій).

Якщо встановити цей параметр у false, то заголовок не буде використовуватися, так само список не буде “обгорнутий” тегами <ul>, </ul> (цей ефект також працює тільки коли параметр “categorize” встановлений у false).


За замовчуванням: ‘__(‘Bookmarks’)’
title_before
(рядок)
Текст перед заголовком. Працює, якщо “categorize=1” або встановлений текст для параметра title_li.


За замовчуванням: ‘<h2>’
title_after
(рядок)
Текст після заголовка. Працює, якщо “categorize=1” або встановлений текст для параметра title_li.


За замовчуванням: ‘</h2>’
show_private
(логічний)
Категорія та посилання мають бути показані, навіть якщо категорія має статус “особиста”. За промовчанням посилання з особистих категорій не будуть показані (false).


Типово: false
include
(рядок)
ID посилань (через кому). Наприклад, ‘include=1,3,6’ означає список складатися з посилань 1,3,6.

Цей параметр вимикає параметри category, category_name та exclude.


За замовчуванням: ”
exclude
(рядок)
ID посилань, які потрібно виключити з показу у списку.


За замовчуванням: ”
orderby
(рядок)

Ключ за яким сортуватиметься список посилань. Можна вказувати кілька ключів через кому. Можливі значення:

  • id– Сортування за ID;
  • url– за значенням поля url;
  • name– на ім’я – за умовчанням;
  • target
  • description– за описом;
  • owner– По користувачеві, який додав посилання на сторінці управління посиланнями;
  • rating– за рейтингом;
  • updated
  • rel
  • notes
  • rss
  • length– за довжиною назви посилання;
  • rand– Вивести посилання у випадковому порядку.

За замовчуванням: ‘name’

order
(рядок)
Напрямок сортування посилань. ASC – по дядьку, DESC – у зворотному порядку.


За замовчуванням: ‘ASC’
limit
(число)
Максимальна кількість посилань, яка буде показана. -1 – знімає обмеження та відображаються всі посилання.


За замовчуванням: ‘-1’
before
(рядок)
Текст, який буде показано перед кожним посиланням. За промовчанням <li>.


За замовчуванням: ‘<li>’
after
(рядок)
Текст, який буде показано після кожного посилання. За промовчанням </li>.


За замовчуванням: ‘</li>’
link_before
(рядок)
Текст, який буде показаний перед анкором кожного посилання. Всередині тега <a>. Параметр додано до версії 2.7.


За замовчуванням: ”
link_after
(рядок)
Текст, який буде показано після анкору кожного посилання. Всередині тега <a>. Параметр додано до версії 2.7.


За замовчуванням: ”
between
(рядок)
Текст, який буде розташований між кожним посиланням/картинкою та описом посилання. За замовчуванням n (новий рядок).


За замовчуванням: n
show_images
(логічний)
Показувати (1) зображення до посилання чи ні (0). За замовчуванням зображення відображається, якщо воно є – 1/true.


За замовчуванням: ‘1’
show_description
(логічний)
Показувати опис до посилання (1) чи ні (0). Справді, коли
show_images= 0 чи картинка не визначена. За замовчуванням 0 не показувати опис.
show_name
(логічний)
Показувати текст посилання (1) чи ні (0). Працює, коли
show_images= 1. (додано у версії 2.7).
show_rating
(логічний)
Показувати рейтинг (1) чи ні (0).
show_updated
(логічний)
Показувати (1) чи ні (0) дату оновлення. (Як працює цей параметр я не розібрався).


За замовчуванням: ”
hide_invisible
(логічний)
Показувати посилання, навіть якщо у параметрі “видимість” встановлено “ні”. Показ керується настройками адмін-панелі (1) чи ні (0).


За замовчуванням: 1 – показ керується з адмін-панелі
echo
(логічний)
Виводити результат на екран (1) або повертати для обробки (0).


Типово: true

Приклади

0

#1 Звичайний список посилань

Показати список посилань, заголовком якого буде “Посилання”, пункти списку будуть “обгорнуті” в тег <li>, заголовок у тег <h2>.

<?php wp_list_bookmarks('title_li=&category_before=&category_after='); ?>
0

#2 Видалення заголовка у списку посилань

Приклад видалення заголовка у списку. Корисно, коли необхідно встановити свій заголовок.

<?php wp_list_bookmarks('title_li=&categorize=0'); ?>
0

#3 Посилання із зазначеної категорії

Приклад виведення посилань з категорії посилань 2 (category=2), загорнутих у тег span (before=<span>&after=</span> ), з використанням картинок для кожного посилання (show_images=1), вимкненим показом опису (show_description=0 ) і відсортованих за посиланням (orderby=url).

<?php wp_list_bookmarks('categorize=0&category=2&before=<span>&after=</span>&show_images=1&show_description=0&orderby=url'); ?>
0

#4 Заміна заголовка картинкою

Приклад того, як можна замінити заголовок списку картинкою.

<?php wp_list_bookmarks('categorize=0&title_before=&title_after=&title_li=<img src="'.get_bloginfo("stylesheet_directory").'/images/blogroll.gif" alt="blogroll" />'); ?>

З версії 2.2.0 додано параметр class.
З версії 2.7.0 додані параметри link_before, link_after та show_name.

нотатки

список змін

З версії 2.1.0Введено.

wp list bookmarks WP 6.0.2

function wp_list_bookmarks( $args = '' ) {
	$defaults = array(
		'orderby' => 'name',
		'order' => 'ASC',
		'limit' => -1,
		'category' => '',
		'exclude_category' => '',
		'category_name' => '',
		'hide_invisible' => 1,
		'show_updated' => 0,
		'echo' => 1,
		'categorize' => 1,
		'title_li' => __( 'Bookmarks' ),
		'title_before' => '<h2>',
		'title_after' => '</h2>',
		'category_orderby' => 'name',
		'category_order' => 'ASC',
		'class' => 'linkcat',
		'category_before' => '<li id="%id" class="%class">',
		'category_after' => '</li>',
	);

	$parsed_args = wp_parse_args($args, $defaults);

	$output = '';

	if ( ! is_array( $parsed_args['class'] ) ) {
		$parsed_args['class'] = explode( ' ', $parsed_args['class'] );
	}
	$parsed_args['class'] = array_map( 'sanitize_html_class', $parsed_args['class'] );
	$parsed_args['class'] = trim( implode( ' ', $parsed_args['class'] ) );

	if ( $parsed_args['categorize'] ) {
		$cats = get_terms(
			array(
				'taxonomy' => 'link_category',
				'name__like' => $parsed_args['category_name'],
				'include' => $parsed_args['category'],
				'exclude' => $parsed_args['exclude_category'],
				'orderby' => $parsed_args['category_orderby'],
				'order' => $parsed_args['category_order'],
				'hierarchical' => 0,
			)
		);
		if (empty($cats)) {
			$parsed_args['categorize'] = false;
		}
	}

	if ( $parsed_args['categorize'] ) {
		// Split bookmarks в ul's для кожної категорії.
		foreach ((array) $cats as $cat) {
			$params = array_merge( $parsed_args, array( 'category' => $cat->term_id ) );
			$bookmarks = get_bookmarks($params);
			if (empty($bookmarks)) {
				continue;
			}
			$output .= str_replace(
				array( '%id', '%class' ),
				array( "linkcat-$cat->term_id", $parsed_args['class'] ),
				$parsed_args['category_before']
			);
			/**
			 * Filters the category name.
			 *
			 * @ Since 2.2.0
			 *
			 * @param string $cat_name category name.
			 */
			$catname = apply_filters( 'link_category', $cat->name);

			$output .= $parsed_args['title_before'];
			$output.=$catname;
			$output .= $parsed_args['title_after'];
			$output .= "nt<ul class='xoxo blogroll'>n";
			$output .= _walk_bookmarks( $bookmarks, $parsed_args );
			$output .= "nt</ul>n";
			$output .= $parsed_args['category_after'] . "n";
		}
	} else {
		// Output one single list using title_li for the title.
		$bookmarks = get_bookmarks($parsed_args);

		if ( ! empty( $bookmarks ) ) {
			if ( ! empty( $parsed_args['title_li'] ) ) {
				$output .= str_replace(
					array( '%id', '%class' ),
					array( 'linkcat-' . $parsed_args['category'], $parsed_args['class'] ),
					$parsed_args['category_before']
				);
				$output .= $parsed_args['title_before'];
				$output .= $parsed_args['title_li'];
				$output .= $parsed_args['title_after'];
				$output .= "nt<ul class='xoxo blogroll'>n";
				$output .= _walk_bookmarks( $bookmarks, $parsed_args );
				$output .= "nt</ul>n";
				$output .= $parsed_args['category_after'] . "n";
			} else {
				$output .= _walk_bookmarks( $bookmarks, $parsed_args );
			}
		}
	}

	/**
	 * Filters bookmarks list перед тим, як він echoed або returned.
	 *
	 * @ Since 2.5.0
	 *
	 * @param string $html The HTML list of bookmarks.
	 */
	$html = apply_filters( 'wp_list_bookmarks', $output );

	if ( $parsed_args['echo'] ) {
		echo $html;
	} else {
		return $html;
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *