Функция get_edit_term_link()
в WordPress используется для получения URL-адреса страницы редактирования указанного термина таксономии. Это полезно, когда вам нужно предоставить пользователям ссылку для редактирования терминов, например, категорий или меток.
get_edit_term_link( int|WP_Term|object $term, string $taxonomy = '', string $object_type = '' ): string|null
Параметры
- $term (int|WP_Term|object, обязательный): ID или объект термина, для которого нужно получить ссылку на редактирование.
- $taxonomy (string, необязательный): Название таксономии, к которой принадлежит термин. По умолчанию будет использована таксономия, связанная с указанным термином.
- $object_type (string, необязательный): Название типа записи. Используется для выделения правильного меню типа записи на странице редактирования. По умолчанию указывается первый тип записи, связанный с таксономией.
Возврат
Функция возвращает строку с URL-адресом страницы редактирования термина или null
в случае неудачи (например, если пользователь не имеет прав редактировать термин).
Описание
get_edit_term_link()
полезна для создания ссылок на редактирование терминов таксономии в админ-панели WordPress. Если у пользователя нет прав на редактирование данного термина, функция вернёт null
.
Пример 1: Получение URL для редактирования элемента таксономии
В этом примере мы получим URL для редактирования термина таксономии с ID 123:
$term = get_term(123); // Получаем термин
$link = get_edit_term_link($term->term_id, $term->taxonomy);
echo $link;
// Вывод:
// http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=brand&tag_ID=123&post_type=cars
Пример 2: Использование с таксономией и типом записи
Допустим, у нас есть термин, и мы знаем, что он связан с определённой таксономией и типом записи. Мы можем передать эти параметры в функцию:
$term_id = 123; // ID термина
$taxonomy = 'category'; // Таксономия
$object_type = 'post'; // Тип записи
$edit_link = get_edit_term_link($term_id, $taxonomy, $object_type);
if ($edit_link) {
echo 'Ссылка для редактирования: ' . esc_url($edit_link);
} else {
echo 'У вас нет прав на редактирование данного термина.';
}
Пример 3: Проверка прав пользователя
Если вам нужно проверить, есть ли у пользователя права редактировать термин, вы можете использовать current_user_can()
в сочетании с get_edit_term_link()
:
$term_id = 25; // ID термина
$taxonomy = 'post_tag'; // Таксономия
if (current_user_can('edit_terms', $term_id)) {
$edit_link = get_edit_term_link($term_id, $taxonomy);
echo 'Ссылка для редактирования: ' . esc_url($edit_link);
} else {
echo 'Вы не можете редактировать этот термин.';
}
Пример 4: Использование в пользовательских шаблонах
Вы можете использовать get_edit_term_link()
в своих пользовательских шаблонах, чтобы отображать ссылки на редактирование терминов. Например, в шаблоне для вывода меток:
$tags = get_terms(array('taxonomy' => 'post_tag'));
if (!empty($tags) && !is_wp_error($tags)) {
echo '<ul>';
foreach ($tags as $tag) {
$edit_link = get_edit_term_link($tag->term_id, 'post_tag');
echo '<li>' . esc_html($tag->name) . ' - <a href="' . esc_url($edit_link) . '">Редактировать</a></li>';
}
echo '</ul>';
}
Заключение
Функция get_edit_term_link()
является важным инструментом для работы с терминами таксономий в WordPress. Она позволяет разработчикам легко создавать ссылки для редактирования терминов и обеспечивает более удобное взаимодействие с админ-панелью. Помните, что проверка прав пользователя является важным шагом при работе с редактированием терминов, чтобы обеспечить безопасность вашего сайта.