Смотри, индустрия хостинга давно сгнила изнутри. Тут всё построено не на сервисе, а на выжимании: продай домен, дожми на апгрейд, подними цену через год. Мы решили, что пора это хоронить. Поэтому сделали WebHostMost. Не чтобы “откусить долю рынка”, а чтобы не блевать каждый раз, когда ищешь нормальный веб хостинг.
Мы не дешевле всех. Мы честнее всех
Наша цена - это не “3$ в первый месяц, 9$ потом, и 17$ с третьего, если ты не заметил”. У нас цена, которую ты видишь - остаётся навсегда, даже если купил со скидкой. Фикс. Всегда. Без писем с сюрпризами.
Сайт грузится за полсекунды - это норма, а не тюнинг
LiteSpeed Enterprise (а не бесплатный OpenLiteSpeed)
Redis, HTTP/3, Brotli, Keep-Alive, APC Cache
NVMe-диски
Процессоры Ryzen EPYC
Инфраструктура, где реально есть защита от DDoS, Imunify360 и мониторинг 24/7
Пока другие строят “скорость” через прокси и заклинания, у нас она встроена в основу.
Бесплатный хостинг - без рекламы, боли и подвохов
Да, у нас есть реальный бесплатный тариф. - Без баннеров. - Без вымогательства “перейдите на PRO, чтобы не лагало”. - С LiteSpeed, защитой, A+ заголовками и даже поддержкой.
Бесплатный хостинг - не значит ущербный. Это вход в нормальную экосистему, не маркетинговый мусор.
А теперь то, что конкуренты продают отдельно - у нас просто включено
A+ по Security Headers - проверено через securityheaders.com (На секундочку, НИ ОДИН хостинг во всем мире не предоставляет такую защиту сразу "из коробки". А у нас это просто есть. Для всех, даже на бесплатном тарифе).
Поддержка всех стеков: WordPress, Node.js, Python, PHP, Laravel, Symfony, PostgreSQL, MongoDB, MariaDB и даже Perl
Настоящая админка - DirectAdmin с кастомом. Никакого cPanel с интерфейсом 2007 года
Встроенная почта, Cron, SSH, Web терминал, email-алиасы
Telegram-чат - где отвечают не “менеджеры по клиентскому счастью”, а девопсы, саппорты, дизайнер и даже директор
И да, индустрия нас пока что ненавидит. Потому что:
Мы не делаем апсейл на функции, которые должны быть базой
Мы не ограничиваем пользователей, как shared-хостинги образца 2014
Мы не прячемся за чат-ботами, а реально сидим в комментах
Кстати, вот вам немного сравнений с GTMetrix и SecurityHeaders рандомного UK сайта, который хостится на любом другом хостинге (в этом примере на SiteGround) и на нашем:
SiteGround:
SiteGround SecurityHeaders be like
SiteGround GTMetrix be like
WebHostMost:
WebHostMost SecurityHeaders be like
WebHostMost GTMetrix be like
И да, нас можно пнуть, задать неудобный вопрос и даже “о ужас” - поспорить с нами. Но мы ответим. Мы рядом. Мы - WHM Crew.
Короче нужно было сделать так, чтобы ссылки ведущие на текущую страницу стали неактивны и меняли цвет, для удобства пользователя и немного для SEO.
Ниже выкладываю общение с GPT и конечно код (может кому пригодиться)
Итак поехали:
Я: Нужно написать функцию чтобы при нахождении на текущей странице сайта wordpress все активные ссылки которые указывают на неё же, стали неактивными. Можно это сделать?
GPT: Да, конечно, можно написать функцию для WordPress, которая будет проверять все активные ссылки на текущей странице и делать неактивными те из них, которые указывают на текущую страницу. Для этого мы можем использовать jQuery в WordPress. Ниже приведен пример кода:
Добавьте следующий код в файл functions.php вашей темы (или в плагин, если вы пишете плагин):
<?php
add_action('wp_footer', 'disable_self_links');
function disable_self_links() {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var currentPage = '<?php echo get_permalink(); ?>';
Этот код добавляет скрипт jQuery в подвал вашей страницы WordPress. При загрузке страницы он находит текущую страницу (используя get_permalink()) и затем проверяет каждую ссылку на странице. Если ссылка указывает на текущую страницу, то ссылка делается неактивной (удаляется атрибут href), меняется курсор на not-allowed и добавляется обработчик клика, который предотвращает действие по умолчанию.
Сохраните изменения в файле functions.php.
Теперь, когда вы открываете страницу в WordPress, все активные ссылки, указывающие на текущую страницу, будут неактивными для кликов пользователей.
Я: Все работает! Спасибо!
Этот код только делает ссылки неактивными и меняет курсор. Я примерил его и потом решил попросить доработать код немного:
Я: Можешь немножко дополнить скрипт. Заменить тег ссылки на <div> и добавить класс "current".
GPT: Конечно, можно добавить класс "current" к тегу <div>, который заменит тег <a>. Вот обновленный скрипт:
var currentPage = '<?php echo get_permalink(); ?>';
$('a').each(function() {
var link = $(this).attr('href');
var isSearchResultsPage = $(this).closest('.search-results').length > 0;
if (link && link === currentPage && !isSearchResultsPage) {
var divElement = $('<div>').addClass('current').html($(this).html());
$(this).replaceWith(divElement);
}
});
});
</script>
<?php
}
Теперь при замене тега <a> на <div>, этот <div> будет иметь класс "current". Если у вас есть еще вопросы или запросы, не стесняйтесь спрашивать!
Я: Спасибо! Все работает!
Вот такой результат: кого интересует может посмотреть здесь (не реклама). Смотрите в сайдбаре ссылки. Видно лучше всего что ссылка ведущая на текущую страницу стала неаетивной и красно-оранжевого цвета.
В одном посте на DTF, в комментариях люди говорят что GPT часто ошибается (вот комментарии). Я с этим не согласен. Единственное что хочу от себя добавить: в настройках GPT всегда разрешите сохранять историю, и ставьте вопросы конкретно и пошагово. Если вы его попросите сделать все сразу, то результат будет неудовлетворительным.
Немного истории... Короче говоря есть страница к примеру: "котята". И есть несколько дочерних: белые серые и т.д. У меня на 1 из сайтов таких, дочерних страниц 201. Параллельно есть таксономии привязанные к типу поста "котята" который не индексируется. Он нужен только для распределения котят по категориям с последующим выводом на страницах в собственном шаблоне и не больше.
Так вот, после публикации и распределения условных "котят" по категориям, нужно было выводить их на соответствующих страницах.
Маленькое уточнение! Я не супер в PHP но базовое понятие функций движка Wordpress есть, так что как поставить задачу чату проблем не возникло. Почему решил написать эту статью спросите вы? Отвечаю: по началу трудно всем и может именно эта статья даст толчок некоторым новичкам, так как сам процесс, очень интересен и познавателен, и ChatGPT объясняет что, где и за что отвечает и куда это все совать. Гуру вам этого не скажут бесплатно;)
Вывод количества на фронтенд: кодинг с помощью ChatGPT 3.5
Мне нужно было вывести количество из каждой категории (циферки что в кружке). Это пример. Так можно сделать для любого типа поста к примеру (товаров), чтобы не нагружать движок плагином WOOCOMERCE и т.д.
Итак моя переписка с ChatGPT и примерами кода (может кому пригодится)
Я. Привет! Сможешь написать шорткод для вордпресс?
ChatGPT. Привет! Конечно, я могу помочь с написанием шорткода для WordPress. Что именно вы хотели бы добавить с помощью шорткода?
Я. У меня есть taxonomy=summ, в ней есть есть tag_ID=253, tag_ID=242 и т.д. Нужно написать шорткод для подсчета количества постов, привязанных к определенным id или slug в таксономии.
ChatGPT. Конечно, вот пример шорткода для подсчета количества постов по заданным tag_ID или slug в таксономии summ:
Если вы хотите подсчитать количество постов для tag_ID=253, используйте [count_posts_in_taxonomy tag_id="253"].
Если вы хотите подсчитать количество постов для slug='example', используйте [count_posts_in_taxonomy slug="example"].
Убедитесь, что код добавлен в файл functions.php вашей темы или в плагин для пользовательского кода.
Я. Спасибо! Ты гений!
ChatGPT. Пожалуйста! Рад был помочь! Если у вас есть ещё вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать. Удачи с вашим проектом WordPress!
Я. А можно как-то укоротить код
ChatGPT. Конечно, можно упростить код, используя более компактные конструкции. Вот более краткая версия:
В этой версии я использовал более сжатый синтаксис массивов и оператор условия с тернарным оператором для укорачивания кода. Все функциональные части остаются теми же. Если у вас есть какие-либо вопросы или нужны дополнительные пояснения, дайте знать!
Я. Не работает! Выводит правильно только первые 2 категории а в остальных выводит цифру 5
ChatGPT. Приношу извинения за это недоразумение. Проблема, вероятно, связана с тем, что в запросе используется параметр terms, который ожидает одно значение. Если вам нужно передать несколько значений, вы можете использовать IN вместо конкретного значения. Вот обновленный код, который должен решить проблему:
Теперь код преобразует переданные значения в массив и использует их в параметре terms запроса. Надеюсь, это решит проблему. Если у вас есть ещё вопросы или проблемы, дайте знать!
Я. Проблема та же. Я использую несколько шорткодов на 1 странице.
ChatGPT. Понял, проблема может быть связана с тем, что запросы могут взаимодействовать друг с другом, особенно если они используют общие ресурсы. Давайте попробуем улучшить код для более надежного использования в множественных вызовах:
В этой версии я заменил get_posts на WP_Query, чтобы иметь больше контроля над запросом. Также добавлены некоторые дополнительные параметры, чтобы убедиться, что каждый вызов шорткода работает независимо. Пожалуйста, протестируйте этот вариант и дайте знать, работает ли он в вашем случае.
Я. Вот теперь точно красавчик!!! Все заработало! Спасибо большущее!
ChatGPT. Отлично! Рад был помочь! Если у вас возникнут ещё вопросы или вам потребуется дополнительная помощь, не стесняйтесь обращаться. Удачи в вашем проекте!
Вот такой результат! Что хочется сказать в завершение: результат каждого зависит только от его фантазий так что однозначно не нужно боятся экспериментировать. Я бы и сам написал этот код, но пришлось бы потерять в 5 раз больше времени и каждый раз перечитывать кодекс WP или WP КАМУ. Спасибо за внимание! Деление опытом и идеи приветствуются!