get_edit_term_link

Получает URL на редактирование указанного элемента таксономии.

Если пользователь не имеет права редактировать текущую таксономию, то функция ничего не вернет (вернет null).

✈ 1 раз = 0.000355с = быстро | 50000 раз = 2с = быстро PHP 7.0.2, WP 4.4.2
Хуки из функции:
get_edit_term_link
Возвращает

Строку/null. URL указанного термина.
Вернет null, если указанной таксономии или термина не существует или у пользователя нет прав редактировать термин.

Использование

get_edit_term_link( $term_id, $taxonomy, $object_type );
$term_id(число) (обязательный)
ID элемента таксономии.
$taxonomy(строка)
Название таксономии к которой принадлежит элемент. С версии 4.5. аргумент является не обязательным.
По умолчанию: ”
$object_type(строка)
Название типа записи. Используется как дополнительный параметр в ссылке, чтобы на странице редактирования в главном меню открыть меню записей указанного типа. Нужно, когда таксономия принадлежит нескольким типам записи. По умолчанию, указывается первый тип записи к которому прикреплена таксономия
По умолчанию: ”

Примеры

#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

Код из


wp-includes/link-template.php

WP 4.7.2

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

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

	$args = array(
		'taxonomy' => $taxonomy,
		'tag_ID'   => $term->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 the 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 (eg. the post type).
	 */
	return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *