Чтобы добавить функциональность для указания источника при копировании текста в WordPress, вы можете использовать следующий код. Этот код нужно вставить в файл `functions.php` вашей темы. Он будет добавлять источник при попытке копирования текста на страницах типа `post`, будет активироваться только для неадминистраторов, а также для текста длиной не менее определённого количества символов.
```php
add_action('wp_footer', 'custom_copy_source_script');
function custom_copy_source_script() {
if (!is_admin() && is_single() && !current_user_can('administrator')) {
?>
<script type="text/javascript">
document.addEventListener('copy', function(e) {
var selection = window.getSelection().toString();
if (selection.length >= 100) { // Минимальная длина выделенного текста
var source = "\n\nИсточник: https://example.com"; // Замените на ваш источник
e.clipboardData.setData('text/plain', selection + source);
e.preventDefault();
sessionStorage.setItem('source_added', 'true'); // Запоминаем, что источник был добавлен
} else if (sessionStorage.getItem('source_added')) {
e.preventDefault(); // Если источник уже добавлен, предотвращаем дальнейшее добавление
}
});
</script>
<?php
}
}
```
### Пояснения по коду:
1. **Проверки**:
- Код работает только для неадминистраторов на одиночных страницах (постах).
- Добавлена проверка, чтобы код выполнялся только для страниц типа `post`.
2. **Событие `copy`**:
- При копировании текста, проверяется его длина. Если выделенный текст содержит 100 или более символов, к нему добавляется указанный источник.
3. **Хранение состояния**:
- Используется `sessionStorage` для отслеживания того, был ли уже добавлен источник. Если да, то дальнейшие попытки добавления источника блокируются.
4. **Изменение источника**:
- Не забудьте заменить `https://example.com` на ваш фактический источник.
Этот код помогает обеспечить добавление информации о источнике только на страницах с контентом и предотвращает ее множественное добавление при дальнейших копированиях в одной сессии.