Как создать ссылку, которую можно нажать и скопировать в буфер обмена?

Как связать код, выводящий артикул товара, с полем ACF, содержащим ссылку, чтобы при клике на артикул копировалась ссылка из поля ACF в буфер обмена? Требуется ограничить доступ к функции копирования в буфер обмена только для администраторов.
  • 7 июля 2024 г. 9:32
Ответы на вопрос 1
Для создания ссылки, которую можно нажать и скопировать в буфер обмена, можно использовать следующий код:

```html
<a href="#" onclick="copyToClipboard('http://yourlink.com')">Нажмите, чтобы скопировать ссылку</a>

<script>
function copyToClipboard(text) {
  var input = document.createElement('textarea');
  input.innerHTML = text;
  document.body.appendChild(input);
  input.select();
  document.execCommand('copy');
  document.body.removeChild(input);
  alert('Ссылка скопирована в буфер обмена');
}
</script>
```

Чтобы связать код, выводящий артикул товара, с полем ACF, содержащим ссылку, можно использовать следующий код в вашем шаблоне WordPress:

```php
<?php
$article = get_field('article'); // Получаем значение артикула товара
$link = get_field('link'); // Получаем значение ссылки из поля ACF

if( current_user_can('administrator') ) { // Проверяем, является ли пользователь администратором
    echo '<a href="#" onclick="copyToClipboard(\'' . $link . '\')">' . $article . '</a>'; // Выводим артикул товара как ссылку
} else {
    echo $article; // Выводим только артикул товара
}
?>
```

Таким образом, при клике на артикул товара для администраторов будет скопирована ссылка из поля ACF в буфер обмена, а для других пользователей будет просто отображено значение артикула товара.
Похожие вопросы