Прилипающее меню вордпресс

Одним из пунктов, обеспечивающих лучшие поведенческие факторы у аудитории сайта, является зафиксированное при прокрутке верхнее меню. Оно всегда на виду и пользователь находясь в любом месте страницы может перейти в интересующую его категорию.
Для вордпресса есть множество плагинов, которые выполняют эту задачу. Но мне больше всех понравился плагин myStickymenu. Работать с плагином очень просто: ему необходимо указать id или class контейнера меню, остальную работу он сделает сам.

Изменить права через терминал

Иногда при переносе сайта на хостинг возникает проблема, что на папки выставлены права не 755, а 700. Лично у меня такое несколько раз было при переносе сайтов на хостинг fozzy. Некоторые панели управления хостингом предоставляют интерфейс для возможности изменения прав на папки, например, это возможно в IPS manager. Но fozzy использует cpanel и там права на папки сайта можно изменить с помощью утилиты terminal. В нее нужно ввести следующую команду:

find ~/public_html -type d -exec chmod 0755 {} \;

Команда изменит для всех папок, находящихся внутри public_html права на 755. Конечно, можно сделать запрос в службу поддержки хостинга и они сами выставят права, но для оперативности лучше знать эту команду самому. Особенно когда такую операцию приходится делать часто.

Условие определенной страницы php

Если необходимо условие для отработки кода php на определенной странице, то для этого можно использовать следующий код

<?php if (!is_page(7019)): ?>
<div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/">
    <?php if(function_exists('bcn_display'))
    {
        bcn_display();
    }?>
</div>
<?php endif ?>

В данном случае будут подключаться хлебные крошки для всех страниц, кроме страницы с id=7019.

Полезные плагины вордпресс

Плагин слайдера smart slider Плагин хлебных крошек  Breadcrumb NavXT Плагин галереи  NextGEN Галерея Плагин редактирования полей страницы заказа woocommerce Flexible Checkout Fields Плагин перевода темы Loco Translate Плагин конструктора материалов  WPBakery Page Builder, отдельно его я не ставил. Он шел предустановленным в купленной теме. Возможно, не в каждой теме его можно применять.

Замена текста woocommerce

// замена стандартных текстов
function rog_shop_strings( $translated_text, $text, $domain ) {
	
	if( 'woocommerce' === $domain ) {
	
		switch ( $translated_text ) {
			case 'Детали' :
			$translated_text = 'Характеристики';
			break;
		}
	
	}
	
	return $translated_text;
}
add_filter( 'gettext', 'rog_shop_strings', 20, 3 );

 

Убрать type=»text/javascript» вордпресс

Решением, которое удаляет из кода сайта атрибуты для стилей и скриптов является следующий код:

add_action( 'template_redirect', function(){
    ob_start( function( $buffer ){
        $buffer = str_replace( array( 'type="text/javascript"', "type='text/javascript'" ), '', $buffer );
        $buffer = str_replace( array( 'type="text/css"', "type='text/css'" ), '', $buffer );
        return $buffer;
    });
});

Его необходимо разместить в конце файла functions.php текущей темы оформления сайта. В интернете есть масса других решений, но мне помогло именно это

Убрать type=»text/javascript» Битрикс

Кто сталкивался с задачей валидации кода сайтов на cms  не по наслышке знают про предупреждение валидатора о том, что у тега <script> не нужно использовать атрибут type. Однако все cms его сами вставляют в тело страницы. Да что там, даже счетчики аналитики от гугл и яндекс в своем коде имеют данный атрибут. Но всегда, когда говорят о сео оптимизации сайта всплывает тема исправления ошибок валидности. Для Битрикс решением проблемы является добавление кода

//вырезаем type="text/javascript" 
AddEventHandler("main", "OnEndBufferContent", "removeType");

function removeType(&$content)
{
   $content = replace_output($content);
}
function replace_output($d)
{
   return str_replace(' type="text/javascript"', "", $d);
}

Разместить данный код нужно в  init.php (/bitrix/php_interface/init.php или /local/php_interface/init.php).

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

K2 joomla не работает

На сайте с cms joomla попросили убрать ошибки валидации кода. В коде самого шаблона, а также в кодах модулей убрал часть ошибок и дошел до мест, которые требовали правок содержимого, добавленного с помощью компонента К2. Какое все-таки разнообразие плагинов и модулей для разных cms существует. Кажется, что ты уже что-то знаешь в этой системе управления сайтом — заходишь на очередной сайт, а там какой-нибудь новый непонятный плагин. И приходится сидеть и разбираться как с ним работать. В данном случае проблема была в следующем:  компонент работал, можно было смотреть материалы, категории и т.д. Но меня смутило то, что содержимое редактора только частично соответствовало содержимому страницы. А именно — не было картинок, которые были на сайте,  а в редакторе их не было. Читать далее «K2 joomla не работает»

joomla jbzoo

Стояла задача обновить лицензию на плагин jbzoo для joomla. Раньше про такой плагин я ничего не слышал и почитав в интернете выяснилось, что это плагин конструктора материалов для сайтов на cms joomla. Ранее лицензия на данный продукт была платной и приходилось периодически вносить оплату. Однако с лета 2018 года плагин стал продуктом с открытым исходным кодом выложенным на github и с лицензией GPL( то есть свободно распространяемым). На сайте продукта есть статья что и как делать jbzoo.ru/blog/jbzoo-4-gpl В принципе все понятно. Читать далее «joomla jbzoo»

Убрать type=»text/javascript» Joomla 3

Необходимо было на сайта с cms joomla 3.8.5 сделать код сайта валидным. В валидаторе былj большое количество предупреждений о том, что скрипты нужно вызывать без атрибута type=»text/javascript». На форумах были разные советы, но ни один из них не подходил. Joomla все время сама подставляла данный атрибут всем скриптам страницы. Помогла заметка одного разработчика, за что ему огромный респект. Оказывается у данной системы управления сайтом есть следующая функция:

$doc             = JFactory::getDocument();
$doc->setHtml5(true);

В большинстве шаблонов сайтов присутствует только первая строчка, отвечающая  за генерацию содержимого страницы. Достаточно было просто добавить метод setHtml5(true) к объекту $doc.

Не забываем обновить кеш в административном разделе, чтобы изменения вступили в силу.