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

Фрагменты кода для v2

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

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

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

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

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.

Список продуктов с ID планов

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

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

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

Поскольку файлы шрифтов почти всегда загружаются напрямую из CSS, наш plugin сопоставления доменов не может переписать 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 “*”;}