Перейти к основному содержимому

Кодовые фрагменты для v2

В основном, кодовые фрагменты для WordPress используются для выполнения определённых действий, которые в противном случае потребовали бы отдельного небольшого плагина. Такие фрагменты размещаются в одном из файлов ядра WordPress или темы (обычно в файле functions.php вашей темы) или могут использоваться как MU‑плагин.

В этой статье мы покажем вам три кодовых фрагмента, которые можно использовать с Ultimate Multisite v2:

Изменение позиции пункта меню «Account»

Чтобы изменить позицию пункта меню «Account» на панели инструментов вашего клиента, просто добавьте следующий кодовый фрагмент в файл functions.php активной темы вашего основного сайта. Вы также можете поместить фрагмент в один из ваших mu‑плагинов или пользовательских плагинов.

add_filter('wu_my_account_menu_position', function() { return 10; // Tweak this value to place the menu in the desired position.

Как проверить, находится ли пользователь под определённым планом и/или имеет ли активную подписку

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

Эти нативные функции Ultimate Multisite помогут вам в этом.

Чтобы проверить, является ли пользователь членом определённого плана, вы можете использовать функцию:

wu_has_plan($user_id, $plan_id)

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

wu_is_active_subscriber($user_id)

Ниже приведён пример фрагмента, который проверяет, находится ли текущий пользователь под конкретным планом (Plan ID 50) и активна ли его подписка.

$user_id = get_current_user_id();$plan_id = 50;if (wu_has_plan($user_id, $plan_id) && wu_is_active_subscriber($user_id)) { // USER IS MEMBER OF PLAN AND HIS SUBSCRIPTION IS ACTIVE, DO STUFF} else { // USER IS NOT A MEMBER OF PLAN -- OR -- HIS SUBSCRIPTION IS NOT ACTIVE, DO OTHER STUFF} // end if;

Обратите внимание, что wu_has_plan требует «Plan ID», чтобы функционировать.

Чтобы получить ID плана, перейдите в Ultimate Multisite > Products. ID каждого продукта будет отображён справа от таблицы.

Обратите внимание, что пользователи могут подписываться только на Plan, а не на Package или Service, поскольку они являются только дополнениями к Plan.

Products list showing plan IDs

Исправление проблем CORS с Font-Icons в сопоставленных доменах

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

Поскольку файлы шрифтов почти всегда загружаются напрямую из CSS, наш плагин сопоставления доменов не может переписать URL‑адреса, чтобы использовать сопоставленный домен вместо оригинального, поэтому, чтобы исправить проблему, вам понадобится изменить файлы конфигурации вашего сервера.

Ниже приведены фрагменты кода для исправления проблемы в Apache и NGINX. Эти изменения требуют продвинутых знаний файлов конфигурации сервера (.htaccess и конфигурационных файлов NGINX). Если вы не уверены в своих навыках, отправьте эту страницу сотрудникам поддержки вашего хостинг‑провайдера для получения помощи.

Apache

В вашем файле .htaccess добавьте:

<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*"

NGINX

В вашем файле конфигурации сервера (расположение может отличаться от сервера к серверу) добавьте:

location ~ .(ttf|ttc|otf|eot|woff|font.css|css)$ { add_header Access-Control-Allow-Origin "*";}