Здравствуйте, такой вопрос...Сейчас "дерево" DOM вкладки личного кабинета выглядит так span > a > i ( см. скрин
)
А можно ли как-нибудь переместить иконку "i" из тега "a" и вынести её "наружу" как показано на скрине. Очень нужно это сделать. Стилями "кастомизовать" данную кнопку под мою собственную вёрстку не выходит так, чтобы было красиво и чтобы долго не переписывать стили под новую разметку (долго объяснять почему, но уж поверьте на слово - опыт вёрстки у меня очень приличный).
Если же делать это средствами JS (я сейчас так и сделал) - это помогает естественно, но каждый раз есть небольшое "подёргивание" после первой загрузки кабинета. Оно и логично, что так будет - скрипт срабатывает уже после загрузки дерева DOM, перемещая тег куда нужно. И это перемещение визуально видно в виде "подёргивания". Хотя, если ничего не придумаю более быстрого, то оставлю это решение на JS - только поставлю на сайт "загрузчик" (preloader) для скрытия этого неприятного эффекта.
Однако, где мне найти данную разметку вкладки в файлах? Реально ли самостоятельно изменить её? Мне много то и не нужно. Всего лишь достать эту чёртову иконку из тега "a".... Неужто разметка где-то в ядре движка всё сформирована и находится в БД...Обидно..😕
P.S. Я то может и решил бы эту проблему средствами CSS, но там у меня сложновато всё устроено в плане вёрстки вкладок (эффекты наведения замудрёные)...
Андрей CS сказал(а)
Добрый день.
Если я дам вам пути решения, то об обновлениях плагина можно забыть, вы к этому готовы?
С php у вас опыт есть?
Да, дайте пожалуйста это решение. Не факт, что 100% буду его использовать, если оно уж слишком замудрёное окажется. Но опыт с PHP есть - пусть и не очень высокий (я больше по JS), но я более-менее владею ООП: имею представления об объектах, классах, функциях-конструкторах, могу написать несложные SQL-запросы в базу, вывести что-то из неё и т. д., знаю всё о конкатенации строк в PHP и всё в таком роде. В общем, как минимум - база есть. Если этого достаточно будет для изменения разметки кнопки - то точно разберусь.
Я понимаю, что после этого есть вероятность, что могут начаться или быть ошибки после обновления чего-то или в связке с другими плагинами, но я буду тогда точно знать, что проблемы могут заключаться именно в этом. Я предупрежу всех, чтобы плагин не обновлял никто и никогда (P. S. кстати, а можно ли как-то поставить запрет на это, чтобы даже кнопки "Обновить" не было видно?)
Подскажите пожалуйста решение и я буду знать - применять его или нет (не будет ли оно слишком замудрёным). Я не буду использовать это решение, если вдруг буду видеть, что чего-то не понимаю в нём или оно окажется слишком сложным. А если буду - то только на свой страх и риск.
в файле /wp-content/plugins/wp-recall/classes/class-rcl-tab.php на строке 167 будет
$html_button = rcl_get_button( $name, $link, array( 'class'=>$this->get_class_button(), 'icon'=> $icon, 'attr'=>'data-post='.rcl_encode_post($datapost) ) );
этот код формирует основные кнопки личного кабинета, тег а и все что внутри, можете использовать данные которые передаются в функцию rcl_get_button() для построения своей кнопки
либо в файле /wp-content/plugins/wp-recall/rcl-functions.php на строке 890 будет функция rcl_get_button() со всем своим содержимым, эта функция используется внутри плагина для построения кнопок плагина не только в личном кабинете, можете внести изменения в верстку кнопки изменив содержимое этой функции