XenWord Pro (Мост между WordPress+XenForo)

Sado Yasashii

Владалец RG
Администратор
Регистрация
08.05.2019
Сообщений
190
Репутация
30
Возраст
30

Прогресс:

Автор: LPH
Версия: 2019.05.03-2.03
Автор перевода: Sado Yasashii

Официальные требования:
  • WordPress 4.7.0+ и выше.
  • XenForo 2.0.0+ и выше.
Текущая поддержка:
  • WordPress 5.2.3.
  • XenForo 2.1.4
Описание:
XenWord Pro
- плагин образующий интеграцию (мост) учётных записей и сообщений (единая регистрация). Иначе говоря, WordPress привязывается к XenForo. Плагин имеет возможность вести статистику активности разделов, тем, сообщений, пользователей и записей WordPress. Позволяет выводить виджеты нужных разделов форума, отслеживать нужные темы. При создании записей на WordPress указывает ссылку автора на профиль XenForo. Позволяет устанавливать шаблоны (стили) WordPress и XenForo независимо друг от друга.

Установка основной русификации:
Скопировать и вставить из папки "Универсальный перевод (на другие версии)" файлы xenword-ru_RU.mo и xenword-ru_RU.po по пути в WordPress\wp-content\languages\plugins\. Перевод будет отмечен как "Системный", авторский или индивидуальный не воспринимается. Установить обязательно!

Полная русификация:
Папки framework, src и support кидаем в свой плагин на замену. Всё, у вас полностью русская версия.

ВАЖНО! ПОЛНАЯ РУСИФИКАЦИЯ ПРОВЕРЕНА ТОЛЬКО НА 2019.05.03
Если у вас версия ниже указанной то не рискуйте и переводите нужные строки вручную. Основная русификация должна подойти для всех версий.

Путь необходимых файлов перевода:
  • \xenword-2019.05.03-2.03\framework\xenword-init.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Statistics\BoardTotals.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Statistics\StatsWide.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Threads\Threads.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Threads\ThreadsWide.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Users\Login.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Users\Online.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Users\Top.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Featured\FeaturedForum.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Featured\FeaturedThreadWide.php
  • \xenword-2019.05.03-2.03\src\Includes\Widgets\Core\Notices.php

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

Все технические вопросы можно оставить напрямую автору - XenForo 2 Addon Development с условием, что у вас официально куплена лицензия. Купить её можете тут Products или найти перекупщика в сети за низкую цену.

Если вам нужен сам плагин в оригинальном виде, то пишите в личку. Бесплатно вам его никто не предоставит.

ВАЖНО!
Если у вас не регистрируются в базе WordPress пользователи после регистрации и при заходе на сайт, то проверьте:
src/Includes/Members/Login.php
Убедите, что у вас на 60 строке кода указан этот код, если нет, то добавьте его:
Код:
(new Options ()) -> checkMemberOptions ($ wp_role);
 

Sado Yasashii

Владалец RG
Администратор
Регистрация
08.05.2019
Сообщений
190
Репутация
30
Возраст
30

Прогресс:

На заметку!
В виджете по пути \src\Includes\Widgets\Statistics\StatsWide.php я убрал код отображение последних тем. Он не работает в оригинале, потому решил его убрать. Пока автор не исправит эту проблему, использовать его не вижу смысла. А чтобы не нарушать прекрасно работающую статистику, было решено убрать с глаз этот баг. Баг его в том, что он ведёт учёт от старых к старому.

Если вы сможете найти решение этой проблемы сами, то просто ниже этого кода:
Код:
        // Latest Post
        $finderThread = \XF::app()->finder('XF:Thread')->fetchOne();
Вставьте этот:
Код:
        echo '<span style="margin-left: 30px;"><i class="fa fa-file-text" aria-hidden="true"></i> &nbsp; <strong>Последняя тема: </strong></span><a href="' . \XF::app()->router()->buildLink( 'canonical:threads', $finderThread ) . '">' . $finderThread['title'] . '</a>';
Так вы вернете отображение последних тем.

По поводу выставление кнопок соц. сетей для входа через сайт. В плагине предусмотрен входа через facebook, twitter и google+. К сожалению работает это криво. Рекомендуется отключать.

Я для себя решил эту проблему добавлением отдельных значков под кнопки и указанием прямой ссылки для входа на каждую соц. сеть. Выглядит просто и доступно. Можете подобрать любые значки по одному размеру и выставить, как вам надо. Всё равно вход и регистрацию мы настраиваем изначально через форум. Не знаю, почему автор решил создать свою форму входа. Не вижу смысла изобретать по новой колесо. Кому нужно, используем.

Вам нужен \src\Includes\Widgets\Users\Login.php

После строки "запомнить!) просто добавьте этот код:
Код:
                   <div style="left">
                   <a href="ссылка на кнопку входа в соц сеть."><img src="ссылка на вашу картинку значка"></a>
                   </div>
Строку с ссылками просто дублируйте на сколько вы открыли у себя соц. сети и просто скопируйте ссылку на вход в нужную вам сеть. Взять её можете на форуме в графе входа.
В моём случае это выглядит так, см. вложение. Все пропадает после захода на профиль, не переживайте.
 

Sado Yasashii

Владалец RG
Администратор
Регистрация
08.05.2019
Сообщений
190
Репутация
30
Возраст
30

Прогресс:

Исправление виджета "Последние темы":

Благодарность за исправление - BSL
Что делает?
Позволяет показывать авторов последнего сообщения в теме т.е. при написании сообщений, виджет будет это показывать, кто, когда и где написал. Без исправления нам показывает только автора последней темы. Подсчитали это недоработкой, решили исправить.
Примечание: Учёт статистики виджета работает только в том случае, если в админке форума на разделе стоит галочка на "Включать темы из этого форума, когда пользователь нажимает "Новые сообщения" ". Если вы её не установите, то статистика не будет выводится на форуме, то и следовательно на виджете тоже.
Открываем \src\Widgets\Threads\Threads.php
Найти:
Код:
// Use this function to display the avatar where ever you want.
            echo "<div class='threadListAvatar'>"
                 . get_avatar( $thread['user_id'], 35 )
                 . " </div>";
Заменить:
. get_avatar( $thread['user_id'], 35 )
На это:
. get_avatar( $thread['last_post_user_id'], 35 )
Найти:
echo '<br />' . ucfirst( ) . '' . $thread['username'] . ' пишет ' . date_i18n( get_option( 'date_format' ), $thread['post_date'] + get_option( 'gmt_offset' ) * 3600 );
Заменить:
echo '<br />' . ucfirst( ) . '' . $thread['last_post_username'] . ' пишет ' . date_i18n( get_option( 'date_format' ), $thread['last_post_date'] + get_option( 'gmt_offset' ) * 3600 );
В итоге получаем:
Threads.JPG

Исправление будет учтено с новой версии локализации. По возможности будем править косяки автора.
 
Последнее редактирование:

Razor

Новичок
Прохожий
Регистрация
24.08.2019
Сообщений
49
Репутация
8

Прогресс:

Сколько возни и, в конечном счётё, всё напрасно :censored:
 

Sado Yasashii

Владалец RG
Администратор
Регистрация
08.05.2019
Сообщений
190
Репутация
30
Возраст
30

Прогресс:

Razor, просто не для такого масштаба он сгодится. Он отлично будет работать, если сайт пишет новости, статьи, да обзоры. В этом плане плагин хорошо сыграет свою роль. В остальном требуется доработка.
 

Razor

Новичок
Прохожий
Регистрация
24.08.2019
Сообщений
49
Репутация
8

Прогресс:

В любом случае, в контексте RG от него отказались чуть ли не в самом начале жизненного цикла сайта.
 

Sado Yasashii

Владалец RG
Администратор
Регистрация
08.05.2019
Сообщений
190
Репутация
30
Возраст
30

Прогресс:

Razor, и как убедился, не зря. К тому же XenForo и без него отлично выполняет те же функции, даже лучше. Можно сказать, возможности WordPress я переоценил, пытаясь адаптировать. Увы, надежд не оправдало, за то неплохой опыт в копилку.
 

Septor

Новичок
Прохожий
Регистрация
08.09.2019
Сообщений
18
Репутация
16

Прогресс:

возможности WordPress я переоценил
Возможности вордпрес, это легко и быстро запелить на всём готовом какой то бложок, а вот если надо что сложней, то тут будет одна головная боль потом. Нормальной документации, а так же форумов по вордпрес нет, где можно получить норм помочь, всё не дофорумы, и оф. форум, где тебя по любому вопросу в кодекс посылают. На сайтах других блогеров можно найти ответы в определённом русле, но не на всё. Так что, что бы с вордпрес сделать что то стоящее, нужно будет прекрасно владеть программированием, и знать хорошо двиг на уровне кода...
 

Кто смотрит тему: (Пользователей: 0, Гостей: 1)

Сверху Снизу