get_edit_term_link() WP 3.1.0

Отримує URL-адресу для редагування зазначеного елемента таксономії.

Якщо користувач не має права редагувати таксономію, то функція нічого не поверне (поверне null).

Працює на основі:
admin_url() ,
add_query_arg()
Основа для:
edit_term_link()
1 раз – 0.000355 сек
(швидко) | 50000 разів – 2 сек
(швидко) |
PHP 7.0.2, WP 4.4.2

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

Повертає

Строку|null. URL вказаного терміну.
Поверне null, якщо вказаної таксономії чи терміна немає чи в користувача немає прав редагувати термін.

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

get_edit_term_link( $term_id, $taxonomy, $object_type );
$term_id
(число) (обов’язковий)
ID елемент таксономії.
$taxonomy
(рядок)
Назва таксономії, до якої належить елемент. З версії 4.5. аргумент не є обов’язковим.


За замовчуванням: ”
$object_type
(рядок)
Назва типу запису. Використовується як додатковий параметр посилання, щоб на сторінці редагування в головному меню відкрити меню записів зазначеного типу. Потрібно, коли таксономія належить кільком типам запису. За замовчуванням вказується перший тип запису до якого прикріплена таксономія


За замовчуванням: ”

Приклади

0

#1 Отримаємо URL для редагування елемента таксономії

Цей приклад виведе URL (посилання) для редагування елемента таксономії з ID 154.

$ term = get_term (154); // Отримаємо елемент

$link = get_edit_term_link( $term->term_id, $term->taxonomy);

echo $link;

// виведе
// http://kama.ru/wp-admin/edit-tags.php?action=edit&taxonomy=wpfunccat&tag_ID=154&post_type=func

список змін

З версії 3.1.0Введено.
З версії 4.5.0The $taxonomy parameter був зроблений optional.

Код get_edit_term_link() WP 6.0.2

function get_edit_term_link( $term, $taxonomy = '', $object_type = '' ) {
	$ term = get_term ($ term, $ taxonomy);
	if ( ! $term || is_wp_error( $term ) ) {
		return;
	}

	$tax = get_taxonomy( $term->taxonomy );
	$term_id = $term->term_id;
	if ( ! $tax || ! current_user_can( 'edit_term', $term_id ) ) {
		return;
	}

	$ args = array (
		'taxonomy' => $taxonomy,
		'tag_ID' => $term_id,
	);

	if ($object_type) {
		$args['post_type'] = $object_type;
	} elseif ( ! empty( $tax->object_type ) ) {
		$args['post_type'] = reset( $tax->object_type );
	}

	if ( $tax->show_ui ) {
		$location = add_query_arg( $args, admin_url( 'term.php' ) );
	} else {
		$location = '';
	}

	/**
	 * Filters edit link for a term.
	 *
	 * @ Since 3.1.0
	 *
	 * @param string $location The edit link.
	 * @param int $term_id Term ID.
	 * @param string $taxonomy Taxonomy name.
	 * @param string $object_type The object type.
	 */
	return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type );
}

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

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